如何在jQuery中从第一个选择标记中选择一个选项后启用或禁用select标记,但当前版本不起作用。
$("select[name='selectALPHA']").change(function () {
if ($("select[name='selectBRAVO'"].attr('enabled') == false {
$("select[name='selectBRAVO']").attr('enabled', 'true');
}
else
{
$("select[name='selectBRAVO']").attr('enabled', 'false');
}
});
答案 0 :(得分:4)
.attr()
需要一个布尔值。
$("select[name='selectBRAVO']").attr('disabled', false);
该代码还包含语法错误。修正:
var $bravo = $("select[name='selectBRAVO']");
$("select[name='selectALPHA']").change(function () {
$bravo.attr('enabled', !$bravo.attr('enabled'));
});
答案 1 :(得分:2)
您似乎想要以普通的js:
切换值var select = document.getElementsByName('selectBRAVO')[0];
select.disabled = !select.disabled;
我相信你可以找出jQuery的等价物。
根据里德的建议,这与Matt的不同之处在于:
var select = $("select[name='selectBRAVO']")[0];
select.disabled = !select.disabled;
旧的jQuery attr 方法混淆了HTML属性和DOM属性。在新版本中, attr 仅处理HTML属性,这更好。但是,在绝大多数情况下,程序员真正想要的是DOM属性。可以直接访问,无需调用 attr 或 getAttribute 。直接属性访问(非常)更快,更少键入和更容易阅读。
答案 2 :(得分:1)
我们都知道select元素的属性为disabled
:
<select disabled="disabled">
</select>
使用jQuery操作属性的值,作为http://api.jquery.com/attr/#attr2上的示例:
$("button:gt(1)").attr("disabled","disabled");
您可以在select元素中执行相同操作:
$("select[name='selectALPHA']").change(function () {
if ($("select[name='selectBRAVO'"].attr('disabled') == 'disabled'{
$("select[name='selectBRAVO']").removeAttr('disabled');
}
else
{
$("select[name='selectBRAVO']").attr('disabled', 'disabled');
}
});
答案 3 :(得分:1)
我不太确定你想在这里实现什么,但我认为这可以帮助你:
$("select[name='select1']").change(function () {
var jSelect2=$("select[name='select2']");
if($(this).val()){
jSelect2.removeAttr('disabled');
}else{
jSelect2.attr('disabled', 'disabled');
}
});
请参阅此处的工作示例:JSFiddle