<form name="form" aDisabled="true" bDisabled="false">
<fieldset id="a">
<input>
...
</fieldset>
<fieldset id="b">
<input>
...
</fieldset>
</form>
所以我想在aDisabled为true且b保持启用时禁用fieldset下的字段,我尝试了下面的jquery但这对我来说似乎不起作用
$("[aDisabled='true'] input:not('#b')").attr('disabled', 'disabled');
答案 0 :(得分:1)
您可以停用表单中的所有fieldset
,但#b
除外
$("[aDisabled='true'] fieldset:not(#b)").attr('disabled', 'disabled');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form name="form" aDisabled="true" bDisabled="false">
<fieldset id="a">
<input type="text">
</fieldset>
<fieldset id="b">
<input type="text">
</fieldset>
</form>
答案 1 :(得分:0)
选择器的问题在于输入:not(#a)表示“没有ID的输入”,对于所有输入都是如此。 你的意思是“fieldset:not(#a)”或更准确地说,“fieldset #b”
$("[aDisabled='true'] fieldset#a input").attr('disabled', true);
$("[bDisabled='true'] fieldset#b input").attr('disabled', true);