我试图以编程方式检查取消选中checkboxlist的所有选项,但我的代码无效。这是片段
$(document).ready(function () {
$('#myLink').click(function () {
$("INPUT[id^='chkFileds']").attr('checked', $('#chkFileds').is(':checked'));
});
});
我的代码有什么问题。我希望当用户点击检查超链接时,将检查复选框列表的所有选项,当再次单击同一链接时,将取消选中复选框列表的所有选项。请指导我怎么做。感谢
更新
感谢您的回答,但我不是在谈论检查而是复选框列表里面有很多复选框。它看起来像....他我给的是复选框列表的html
<table style="font-weight:bold;" id="chkCountry">
<tbody>
<tr>
<td>
<input type="checkbox" value="GB" name="chkCountry$0" id="chkCountry_0">
<label for="chkCountry_0">UK</label>
</td>
<td>
<input type="checkbox" value="US" name="chkCountry$1" id="chkCountry_1">
<label for="chkCountry_1">USA</label>
</td>
</tr>
</tbody>
</table>
答案 0 :(得分:6)
您的标记仍然缺少正确回答问题所需的一些相关代码,但是,假设myLink
是一个复选框,则以下代码将起作用。
$(document).ready(function () {
$('#myLink').click(function () {
$("INPUT[id^='chkCountry_']").attr('checked', $('#myLink').is(':checked'));
});
});
注意:由于多种原因,您的代码无效。主要是,您的选择器chkFileds
与您以任何方式发布的标记无关。
其他信息:
以下是属性选择器运算符的快速概述:
= is exactly equal
!= is not equal
^= starts with
$= ends with
*= contains
答案 1 :(得分:0)
如果您的选择器是正确的,并且它们看起来有点奇怪,可能是这样的:
$(document).ready(function () {
$('#myLink').on('click', function () {
var check = $('#chkFileds').is(':checked') ? false:true;
$("INPUT[id^='chkFileds']").prop('checked', check);
});
});
“所有”选项究竟是什么意思,你指的是一个ID,它是独一无二的?