Nid*_*ida 2 javascript jquery jquery-ui
我在表格中有标签的复选框.我在"全部选择"表中添加了一个带有"chkbox"的复选框.现在下面的代码工作正常.选择和取消选中表格中的所有复选框.现在有一些页面由于业务逻辑而禁用了一些复选框.我希望这些复选框不会受到影响.
<script type="text/javascript">
var s = jQuery.noConflict();
s(document).ready(function() {
s('#chkbox').change(function() {
var all = s('table').find('input[type="checkbox"]');
if (this.checked) {
all.prop('checked', true);
} else {
all.prop('checked', false);
}
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
Tus*_*har 10
var all = $('table').find('input[type="checkbox"]:not(:disabled)');
^^^^^^^^^^^^^^^^
Run Code Online (Sandbox Code Playgroud)
这不会选中已禁用的复选框
$('#selectAll').change(function() {
$(':checkbox:not(:disabled)').prop('checked', this.checked);
});Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<input type="checkbox" id="selectAll" />Select All
<ul>
<li>
<input type="checkbox" disabled />
</li>
<li>
<input type="checkbox" />Not disabled</li>
<li>
<input type="checkbox" />Not disabled</li>
<li>
<input type="checkbox" disabled />
</li>
<li>
<input type="checkbox" />Not disabled</li>
</ul>Run Code Online (Sandbox Code Playgroud)
您也可以使用:enabled选择器.
$('table').find('input[type="checkbox"]:enabled')
Run Code Online (Sandbox Code Playgroud)
$('#selectAll').change(function() {
$(':checkbox:enabled').prop('checked', this.checked);
});Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<input type="checkbox" id="selectAll" /> Select All
<ul>
<li>
<input type="checkbox" disabled />
</li>
<li>
<input type="checkbox" />Not disabled</li>
<li>
<input type="checkbox" />Not disabled</li>
<li>
<input type="checkbox" disabled />
</li>
<li>
<input type="checkbox" />Not disabled</li>
</ul>Run Code Online (Sandbox Code Playgroud)
请注意::enabled==:not(:disabled)
| 归档时间: |
|
| 查看次数: |
762 次 |
| 最近记录: |