<form name="form" aDisabled="true" bDisabled="false">
<fieldset id="a">
<input>
...
</fieldset>
<fieldset id="b">
<input>
...
</fieldset>
</form>
所以我想让fieldset下的字段在aDisabled为真时被禁用,而b保持启用,我尝试了下面的jquery,但这似乎对我不起作用
$("[aDisabled='true'] input:not('#b')").attr('disabled', 'disabled');
发布于 2016-05-05 22:24:13
您可以禁用表单中除#b
之外的所有fieldset
,如下所示
$("[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>
发布于 2016-05-05 22:22:33
选择器的问题是input:not(#a)表示“没有ID为a的输入”,这对所有的输入都是正确的。您的意思是"fieldset:not(#a)“,或者更准确地说,是"fieldset#b”
$("[aDisabled='true'] fieldset#a input").attr('disabled', true);
$("[bDisabled='true'] fieldset#b input").attr('disabled', true);
https://stackoverflow.com/questions/37061238
复制相似问题