我有两列带有复选框的复选框,当第二列中的所有复选框均被选中时,问题出在这里,客户端希望在选中复选框的一列时禁用第二列或抛出警报消息以进行检查一次只有一列?
function SelectAll1(headerchk, gridId) {
var gvcheck = document.getElementById(gridId);
var i, j;
if (headerchk.checked) {
for (i = 0; i < gvcheck.rows.length - 1; i++) {
var inputs = gvcheck.rows[i].getElementsByTagName('input');
for (j = 1; j < inputs.length; j++) {
if (inputs[j].type == "checkbox") {
inputs[j].checked = true;
}
}
}
}
else {
for (i = 0; i < gvcheck.rows.length - 1; i++) {
var inputs = gvcheck.rows[i].getElementsByTagName('input');
for (j = 1; j < inputs.length; j++) {
if (inputs[j].type == "checkbox") {
inputs[j].checked = false;
}
}
}
}
}
你可以ch
答案 0 :(得分:0)
如果没有HTML,我真的不知道您要做什么,但是您可以从这里开始。
final ToggleGroup toggleGroup = new ToggleGroup();
toggle1.setToggleGroup(toggleGroup);
toggle2.setToggleGroup(toggleGroup);
toggle3.setToggleGroup(toggleGroup);
var selected = $('.check:checked').length;
if (selected >= 1) {
$('.check').prop('disabled', true);
}
答案 1 :(得分:0)
根据给出的小信息,我认为这是
SelectAll1
清除或设置第1列中的所有复选框。
SelectAll2
清除或设置第2列中的所有复选框。
headerchk
是一个单击框,清除或设置所有复选框。
执行此更改:
在代码中SelectAll1(
headerchk 的每一行之后,调用 gridId )
,将其更改为{{1} } headerchk SelectAll1(
, gridId .checked
。
在该行下方插入一个否定的另一行:
)
headerchk 。SelectAll2(!
, gridId checked
在代码中)
headerchk 的每一行之后,调用 gridId SelectAll2(
,将其更改为{{1} } headerchk )
, gridId SelectAll2(
。
在该行下方插入一个否定的另一行:
.checked
headerchk )
, gridId SelectAll1(!
您只向我显示了.checked
的代码,所以我假设)
是相同的,如果您还不知道如何使它们有所不同。如果这不是事实,请纠正我!
SelectAll1
更改为以下内容来继续:SelectAll2
通过将条件移动到本身为true或false的赋值来消除else-部分和if。 SelectAll1
部分移至函数外部。
在function SelectAll1(header_checked, gridId) {
var gvcheck = document.getElementById(gridId);
var i, j;
for (i = 0; i < gvcheck.rows.length - 1; i++) {
var inputs = gvcheck.rows[i].getElementsByTagName('input');
for (j = 1; j < inputs.length; j++) {
if (inputs[j].type == "checkbox") {
inputs[j].checked = header_checked;
}
}
}
}
测试它是否有效并向我报告!