jQuery基于变量启用/禁用表单字段部分


<form name="form" aDisabled="true" bDisabled="false">
<fieldset id="a">
<input> 
...
</fieldset>
<fieldset id="b">
<input> 
...
</fieldset>
</form>

所以我想在 aDisabled 为 true 并且 b 保持启用状态时禁用字段集下的字段,我尝试了下面的 jquery,但这似乎对我不起作用

$("[aDisabled='true'] input:not('#b')").attr('disabled', 'disabled');

您可以禁用表单中的所有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>

选择器的问题在于 input:not(#a( 表示"没有 ID 的输入",这对于您的所有输入都是正确的。你的意思是"fieldset:not(#a(",或者更准确地说,"fieldset#b">

$("[aDisabled='true'] fieldset#a input").attr('disabled', true);
$("[bDisabled='true'] fieldset#b input").attr('disabled', true);

最新更新