laravel-survey
laravel-survey copied to clipboard
How to create a radio with an other option which displays a text field
A common use case is "Other Specify" where if a user selects other, a text field is displayed to allow a user to enter text for the option
Is this in the road map or any suggestions for an implementation approach so that I can help push a PR
Hi Stephen, thanks for checking out this package and for your interest in contributing. If I were to do this in a standalone project, I would:
1. Publish the views that come with this package:
php artisan vendor:publish --provider="MattDaneshvar\Survey\SurveyServiceProvider" --tag="views"
2. Create a view file for the new question type (calling it radio-and-text for lack of a better name) under:
<your-views-director>/vendor/survey/questions/types/radio-and-text.blade.php
The content of this file should look something similar to the existing text and radio types combined.
3. Sprinkle some JavaScript to toggle when the text input should be enabled / disabled (or perhaps even hidden).
I should then be able to configure my survey to use this new question type:
$two->questions()->create([
'content' => 'How do you like this product?',
'type' => 'radio-and-text',
'options' => ['A lot', 'A bit', 'Not at all']
]);
The issue with this approach, though, is that it requires that bit of JavaScript to work, and I think it won't be great to mix JavaScript behaviour into this package.
Do you have another approach in mind that may not need the additional JavaScript?