Исходя из небольшой информации, я предполагаю, что:
SelectAll1
снять или установить все флажки в столбце 1.
SelectAll2
снять или установить все флажки в столбце 2.
headerchk
это флажок, когда щелкает, очищает или устанавливает все.
Сделайте это изменение:
После каждой строки в коде, где SelectAll1(
headerchk , gridId )
вызывается, вы меняете его на SelectAll1(
headerchk .checked
, gridId )
.
Вставьте еще одну строку под этой строкой с отрицанием: SelectAll2(!
headerchk . checked
, gridId )
После каждой строки в коде, где вызывается SelectAll2(
headerchk , gridId )
, вы меняете его на SelectAll2(
headerchk.checked
, gridId )
.
Вставьте еще одну строку под этой строкой с отрицанием: SelectAll1(!
headerchk .checked
, gridId )
Вы только показали мне код для SelectAll1
, поэтому я предполагаю, что SelectAll2
такой же, когда вы еще не знаете, как их отличать.Поправь меня, если это не так!
Продолжите, изменив функцию
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;
}
}
}
}
Остальная часть и если она устранена путем перемещения условия в присвоение, которое является истинным илиложный.Часть .checked
выходит за пределы функции.
Сделайте то же самое изменение в SelectAll2
Проверьте, работает ли оно, и сообщите мне!