以前我在this example工作的代码根据"选择所有"设置了相应的文本框。各自表格中的复选框。将此推送到办公室git服务器并转到验证服务器后,它不再有效。看一下控制台,没有弹出错误,jQuery似乎确实按原样执行。
jQuery代码如下:
function CheckboxClick(checkbox)
{
var $name = $(checkbox).attr('name');
if ($name.indexOf("ChannelPublish_") > 0 || $name.indexOf("hkDisplay_") > 0)
{
var $row = $(checkbox).closest("tr");
if ($name.indexOf("ChannelPublish_") > 0)
{
SetDataBin($row, "txtPublishMessage_");
}
else if ($name.indexOf("hkDisplay_") > 0)
{
SetDataBin($row, "txtDisplay_");
}
}
else if ($name == "chkRemoveAllNetworks")
{
$('td input:checkbox', '#tblNetworks').prop('checked', $(checkbox).checked);
}
else if ($name == "chkRemoveAllChannels")
{
$('td input:checkbox[name*="chkChannelRemove"]', '#tblChannels').prop("checked", $(checkbox).checked);
}
}
全选复选框都有onclick='CheckboxClick(this)'
。
答案 0 :(得分:3)
您需要将$(checkbox).checked
替换为$(checkbox).is(':checked')
才能生效。而不是直接在html中添加onclick
,我在jquery中添加了它。所以你的复选框点击事件应该是这样的
$('input[name="chkRemoveAllNetworks"], input[name="chkRemoveAllChannels"]').on('click', function() {
console.log($(this));
CheckboxClick($(this));
});
您也可以将click
替换为change
,它也可以使用
$('input[name="chkRemoveAllNetworks"], input[name="chkRemoveAllChannels"]').on('change', function() {
console.log($(this));
CheckboxClick($(this));
});
这是一个有效的 JSFIDDLE