我只是坚持使用复选框进行操作,我有一个 Gridview,在标题和行中都有第一列作为复选框,复选框与数据库中的 iID 值绑定。我有时想删除行“全部”(通过标题复选框),有时删除“选定”(通过复选框)。现在我正在使用这段代码:
JavaScript
function checkcheckboxPrint() {
var checkfag = false;
var id = 0;
var table = document.getElementById('<%=grdRefPhysician.ClientID%>');
if (table != null) {
for (i = 1; i < table.rows.length; i++) {
var chkRead = table.rows[i].cells[0].getElementsByTagName("input")[0];
var DivID = table.rows[i].cells[0].getElementsByTagName('div')[0];
if (chkRead != null) {
if (chkRead.type == 'checkbox') {
if (chkRead.checked) {
id = DivID.innerHTML + "," + id;
checkfag = true;
alert(id);
}
}
}
}
if (checkfag == true) {
$("#<%=hdnIDs.ClientID %>").val(id);
return true;
}
else {
alert("Please select record to delete.");
return false;
}
}
}
jQuery
$(document).ready(function () {
$("input:checkbox").change(function () {
$("#DivDelete").show('slow');
});
});
正如您所看到的,我正在使用隐藏字段将那些逗号 (,) 分隔的 ID 获取到服务器端,基本上它可以工作,但是,我不会经历一种情况,即如果我检查标题行,那么所有复选框都应该被选中,如果我取消选中然后所有复选框都应该被取消选择,反之亦然,我在点击这个时调用这个js方法
HTML
<div id="DivDelete" style="text-align:left;display:none;">
<asp:Button ID="btnDeleteAll" OnClientClick="return checkcheckboxPrint();" runat="server" Text="Delete" />
</div>
我只是想使用 jQuery 将逗号分隔的 ID 存储到隐藏字段,并带有 checkAll 和独立的检查工具!
我的网格的附加屏幕截图
任何帮助表示赞赏!谢谢