У меня есть вопрос, похожий на тот, который задан здесь: jQuery
Но, мой меняется в том, что будет больше, чемдва поля выбора.В предоставленном ответе, когда опция выбрана, она отключена в других полях выбора (что я и хочу сделать), но я не хочу, чтобы другие опции, выбранные в другом окне выбора, были отключены.
Имеет ли это смысл?
Пример html:
<div>
<select name="homepage_select_first">
<option>No Match</option>
<option value="1">Test</option>
<option value="2">Test 2</option>
<option value="3">Test 3</option>
</select>
</div>
<div>
<select name="homepage_select_second">
<option>No Match</option>
<option value="1">Test</option>
<option value="2">Test 2</option>
<option value="3">Test 3</option>
</select>
</div>
<div>
<select name="homepage_select_third">
<option>No Match</option>
<option value="1">Test</option>
<option value="2">Test 2</option>
<option value="3">Test 3</option>
</select>
</div>
И jQuery:
$('select[name*="homepage_select"]').change(function() {
var value = $(this).val();
alert(value);
$('select[name*="homepage_select"]').children('option').each(function(){
if ( $(this).val() === value ) {
$(this).attr('disabled', true)//.siblings().removeAttr('disabled');
}
});
});
Комментирование .siblings().removeAttr('disabled')
просто никогда не удаляетатрибут disabled ... но я хочу удалить его ТОЛЬКО, если он не выбран ни в одном из полей выбора.
По сути, я хочу, чтобы вариант был выбран только в одном из вариантов выбора одновременно.Я думаю, что если бы я мог только .removeAttr('disabled')
на элементе, который только что изменился, я думаю, что это сработало бы.Но я не знаю, как это сделать.
У кого-нибудь есть идеи?
Спасибо!