#jquery
#jquery
Вопрос:
HTML-код:
<div class="per-input per-businessHour">
<select name="closing_time[]" class="closing_time close_time" id="closing_time1">
<option value="">Choose</option>
@if ($range = range(strtotime('00:00'),strtotime('23:59'),15*60))
@foreach ($range as $time)
<option value="{{ date('h:i A',$time) }}">{{ date('h:i A',$time) }}</option>
@endforeach
@endif
</select>
<span value="1" class="editTime">Edit</span>
</div>
<div class="per-input per-businessHour">
<select name="closing_time[]" class="closing_time close_time" id="closing_time2">
<option value="">Choose</option>
@if ($range = range(strtotime('00:00'),strtotime('23:59'),15*60))
@foreach ($range as $time)
<option value="{{ date('h:i A',$time) }}">{{ date('h:i A',$time) }}</option>
@endforeach
@endif
</select>
<span value="2" class="editTime">Edit</span>
</div>
<div class="per-input per-businessHour">
<select name="closing_time[]" class="closing_time close_time" id="closing_time3">
<option value="">Choose</option>
@if ($range = range(strtotime('00:00'),strtotime('23:59'),15*60))
@foreach ($range as $time)
<option value="{{ date('h:i A',$time) }}">{{ date('h:i A',$time) }}</option>
@endforeach
@endif
</select>
<span value="3" class="editTime">Edit</span>
</div>
Код jQuery:
$('.closing_time').on('change', function () {
for (var i = 1; i <= 3; i ) {
$('#closing_time' i).find('option[value="' this.value '"]').attr("selected",true);
}
})
$('.editTime').on('click', function () {
var id = $(this).attr('value');
$('#closing_time' id).removeClass('close_time');
$('#closing_time' id).removeClass('closing_time');
$('#closing_time' id).addClass('editclose_time');
$('#closing_time' id).removeAttr('id');
$('#closing_time' id).find('option[value=""]').attr("selected",false);
})
$('.editclose_time').on('change', function () {
$('.editclose_time').find('option[value="' this.value '"]').attr("selected",true);
})
Я пытаюсь вот так:
Если я выберу одно из этих значений all select, то все значения параметра select будут выбраны как одинаковые. При особом условии, если я попытаюсь отредактировать определенный параметр выбора, желая изменить только это значение выбора и выбранный параметр.. не все из этого. Но не удалось этого сделать…Это изменило все значение выбора и выбранную опцию. Если кто-нибудь поможет мне в этом, пожалуйста
Комментарии:
1. Вам не нужен цикл. Просто
$(".closing_time").val(this.value)
2. Что такое «особое условие»?
3. нажмите редактировать для определенного тега выбора — «особое условие»
Ответ №1:
Это должно сработать:
$(".per-businessHour").on("change", ".closing_time", function() {
$(".closing_time").val(this.value);
});
При этом используется делегирование событий, поэтому динамическое изменение классов изменяет, выполняется ли обработчик событий. Когда вы нажимаете на кнопку Редактирования, closing_time
класс удаляется, поэтому этот код не будет выполняться при выборе из него. Он также использует этот класс для поиска других выбранных для обновления.