Отключить выбор параметров на основе значения * только через HTML! * - PullRequest
17 голосов
/ 17 сентября 2011

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

Например,

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

$variable = <some select option value>;

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

Спасибо.

Ответы [ 4 ]

26 голосов
/ 17 сентября 2011

С вашей текущей разметкой это будет работать:

$("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)
20 голосов
/ 17 сентября 2011
$("select option[value='"+ $variable + "']").attr('disabled', true); 
9 голосов
/ 10 ноября 2014

Это должно быть более быстрое решение

$('select').children('option[value="' + $variable + '"]').attr('disabled', true)
6 голосов
/ 17 сентября 2011

Допустим, у вас была следующая разметка

<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");
    }
});

Попробуйте здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...