У меня есть переключатель с другим параметром, который добавляет поле ввода при нажатии
, вот мой код
Просмотр:
<div class="input-field col s4 floor_level">
<p>
<label>Floor Level<h7 class="red-text">*</h7></label><br>
<label>
<input id="ground" class="with-gap" name="floor_level" type="radio" value="Ground" {{ $client->eventDetail->floor_level == 'Ground' ? 'checked' : ''}}/>
<span>Ground</span>
</label>
</p>
<p>
<label>
<input id="rooftop" class="with-gap" name="floor_level" type="radio" value="Rooftop" {{ $client->eventDetail->floor_level == 'Rooftop' ? 'checked' : ''}}/>
<span>Rooftop</span>
</label>
</p>
<p>
<label>
<input id="option" class="with-gap" name="floor_level" type="radio" value="other" {{ old('floor_level',$new_floor_level) == 'other' ? 'checked' : '' }}/>
<span id="otherlabel">Other</span>
</label>
</p>
</div>
Сценарий:
<script>
$(function () {
var $select2 = $('#option');
$select2.on('change', function (e) {
if($(this).val()==="other"){
$('#option').one('click', function() {
$('.floor_level').append('<div class="added_input"><input id="floor_level_input" type="text" name="floor_level" value="{{ old('floor_level',$client->eventDetail->floor_level) }}" placeholder="Specify.." class="validate"><label for="floor_level_input">Make your own selection!</label></div>');
$('#option').hide();
$('#otherlabel').hide();
});
}
}).change();
$('#rooftop').change(function () {
if($(this).val()!=="other"){
$('.added_input').remove();
$('#option').show();
$('#otherlabel').show();
}
});
$('#ground').change(function () {
if($(this).val()!=="other"){
$('.added_input').remove();
$('#option').show();
$('#otherlabel').show();
}
});
});
</script>
Контроллер:
$client = Client::findOrFail($id);
if ($client->eventDetail->floor_level !== "Ground" AND $client->eventDetail->floor_level != "Rooftop")
{
$new_floor_level = "other";
}
else
{
$new_floor_level = " ";
}
return view('admin.clients.edit', compact('client', 'new_floor_level'));
На моей странице создания этот код работает, когда я нажимаю радиокнопку «Прочее» , появляется поле ввода, а когда я нажимаю «Земля» или «Крыша», поле ввода удаляется.
Вопрос в том, как я могу показать добавленное поле ввода со значением из базы данных, если переключатель установлен по умолчанию Other на моей странице обновления , и все еще работает с событием click, которое удаляет поле ввода, когда я нажимаю Ground или Rooftop и показать его снова, когда я нажму Другое.