Отключить опции выбора на основе значения * только через HTML! *
Мне нужно отключить опцию выбора, основанную на значении переменной. Значение похоже на одно из значений опции выбора, и его необходимо отключить.
Для ex,
<select>
<option>Value a</option>
<option>Value b</option>
</select>
$variable = <some select option value>;
Итак, если переменная равна значению a, тогда ее необходимо отключить в опции выбора.
Спасибо.
Ответы
Ответ 1
С вашей текущей разметкой это будет работать:
$("select option:contains('Value b')").attr("disabled","disabled");
http://jsfiddle.net/CtqC6/
ИЗМЕНИТЬ
http://jsfiddle.net/CtqC6/1/
var variable = "b"
$("select option:contains('Value " + variable + "')").attr("disabled","disabled");
$("select").prop("selectedIndex",-1)
Ответ 2
$("select option[value='"+ $variable + "']").attr('disabled', true);
Ответ 3
Это должно быть более быстрое решение
$('select').children('option[value="' + $variable + '"]').attr('disabled', true)
Ответ 4
Скажем, у вас была следующая разметка
<select>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
Используя этот jQuery, параметр saab будет отключен.
$("select option").each(function() {
var $thisOption = $(this);
var valueToCompare = "saab";
if($thisOption.val() == valueToCompare) {
$thisOption.attr("disabled", "disabled");
}
});
Попробуйте здесь
Ответ 5
Как это можно проверить по нескольким значениям вместо одного?