У меня есть два элемента select
в форме. Когда в одном элементе выбран b
, в другом элементе должен быть выбран z
.Переключить выбранные параметры в элементы формы формы с помощью jQuery
В данный момент, когда я тестирую приведенную ниже реализацию, эта функция переключения работает некоторое время, а затем перестает работать в точке, где я переключаюсь с выбора опции на один элемент, чтобы выбрать параметр для другого элемента.
Я не могу найти шаблон для определения того, что происходит, но я думаю, что в логике есть дублирование.
Идея состоит в том, чтобы расширить список опций на обоих элементах в более поздней точке, но пока я просто хочу заставить эффект переключения работать.
$("#5").change(function() {
if ($('#5').val() == 'b') {
$('#6').find('option:selected').removeAttr("selected");
$('#6 option[value=z]').attr('selected', 'selected');
} else if ($('#5').val() == 'z') {
$('#6').find('option:selected').removeAttr("selected");
$('#6 option[value=b]').attr('selected', 'selected');
}
})
$("#6").change(function() {
if ($('#6').val() == 'b') {
$('#5').find('option:selected').removeAttr("selected");
$('#5 option[value=z]').attr('selected', 'selected');
} else if ($('#6').val() == 'z') {
$('#5').find('option:selected').removeAttr("selected");
$('#5 option[value=b]').attr('selected', 'selected');
}
})
Как исправить это?
Если они не выбраны с несколькими атрибутами, вам не нужно «удалять выбранный атрибут». Кроме того, значения #id не соответствуют спецификации HTML. – michaeltintiuc
Не могли бы вы объединить идентификаторы вместе, а затем просто изменить, когда один из них изменится? поэтому ... '$ (" # 5, # 6 "). change (function()' –