我有一个带复选框和文本输入列的表。复选框列中的最后一行有一个"全部检查"链接。
选中全部点击:
1:文字必须更改"取消全部选中"
2:选中列中上方的框并设置textbox text = 500。
在"取消选中所有": 1:文字必须改变"全部检查" 2:取消选中该框并清除文本框。
但上面的第2点工作不正常。
步骤:
1:点击"全部检查" - 文本更改为"取消选中全部"并选中了框,但未将文本框设置为500。
2:点击"取消选中全部" - 文本更改为"全部检查"并取消选中框,但现在它将文本框设置为500。
我认为这是一些事件处理问题,但到目前为止我还没有想到它。
任何想法会发生什么?
注意:我将不得不使用" onclick"因为我的实际代码是.aspx页面,它没有用复选框识别onchange。
更新了代码 Sample。
答案 0 :(得分:1)
答案 1 :(得分:1)
onClick()和setValue()函数在click()对复选框应用检查之前运行; 因此,在步骤1,它没有看到复选框。
答案 2 :(得分:0)
答案 3 :(得分:0)
试试这个
<script>
$(function () {
$(".checkall").click(function () {
if ($(this).text() == "Check All") {
$(this).text("Uncheck All");
$(this).parent().parent().prevUntil('tbody').each(function () {
$(this).find("td input:checkbox").attr('checked', 'checked').click();
});
}
else {
$(this).text("Check All");
$(this).parent().parent().prevUntil('tbody').each(function () {
$(this).find("td input:checkbox").removeAttr('checked').click();
});
}
});
});
function setValue(chb, txtid, valu) {
if ($(chb).is(":checked")) {
$("#" + txtid).val(valu);
}
else {
$("#" + txtid).val("");
}
}
</script>