Подтвердить что ты не робот

Отключить опции выбора на основе значения * только через HTML! *

Мне нужно отключить опцию выбора, основанную на значении переменной. Значение похоже на одно из значений опции выбора, и его необходимо отключить.

Для ex,

<select>
<option>Value a</option>
<option>Value b</option>
</select>

$variable = <some select option value>;

Итак, если переменная равна значению a, тогда ее необходимо отключить в опции выбора.

Спасибо.

4b9b3361

Ответ 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

Как это можно проверить по нескольким значениям вместо одного?