仅通过HTML禁用基于值*的选择选项!*

Aja*_*jay 17 html jquery select

我需要根据变量的值禁用选择选项.该值类似于其中一个选择选项值,需要禁用它.

对于前者,

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

$variable = <some select option value>;
Run Code Online (Sandbox Code Playgroud)

因此,如果变量等于值a,则需要在select选项中禁用它.

谢谢.

Jos*_*kle 27

使用您当前的标记,这将有效:

$("select option:contains('Value b')").attr("disabled","disabled");
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/CtqC6/

编辑

http://jsfiddle.net/CtqC6/1/

var variable = "b"
$("select option:contains('Value " + variable + "')").attr("disabled","disabled");
$("select").prop("selectedIndex",-1)
Run Code Online (Sandbox Code Playgroud)


azi*_*ani 20

$("select option[value='"+ $variable + "']").attr('disabled', true); 
Run Code Online (Sandbox Code Playgroud)


Phi*_*lip 9

这应该是一个更快的解决方案

$('select').children('option[value="' + $variable + '"]').attr('disabled', true)
Run Code Online (Sandbox Code Playgroud)


Mar*_*rko 6

假设你有以下标记

<select>
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="audi">Audi</option>
</select>
Run Code Online (Sandbox Code Playgroud)

使用此jQuery,将禁用saab选项.

$("select option").each(function() {
    var $thisOption = $(this);
    var valueToCompare = "saab";

    if($thisOption.val() == valueToCompare) {
        $thisOption.attr("disabled", "disabled");
    }
});
Run Code Online (Sandbox Code Playgroud)

在这里尝试一下