【发布时间】:2011-11-19 00:08:15
【问题描述】:
我需要禁用基于变量值的选择选项。该值类似于选择选项值之一,需要禁用。
例如,
<select>
<option>Value a</option>
<option>Value b</option>
</select>
$variable = <some select option value>;
因此,如果变量等于值 a,则需要在选择选项中禁用它。
谢谢。
【问题讨论】:
我需要禁用基于变量值的选择选项。该值类似于选择选项值之一,需要禁用。
例如,
<select>
<option>Value a</option>
<option>Value b</option>
</select>
$variable = <some select option value>;
因此,如果变量等于值 a,则需要在选择选项中禁用它。
谢谢。
【问题讨论】:
使用您当前的标记,这将起作用:
$("select option:contains('Value b')").attr("disabled","disabled");
编辑
var variable = "b"
$("select option:contains('Value " + variable + "')").attr("disabled","disabled");
$("select").prop("selectedIndex",-1)
【讨论】:
$("select option[value='"+ $variable + "']").attr('disabled', true);
【讨论】:
这应该是一个更快的解决方案
$('select').children('option[value="' + $variable + '"]').attr('disabled', true)
【讨论】:
假设您有以下标记
<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");
}
});
【讨论】: