Это флажки, которые у меня сейчас есть image , и когда я нажимаю на первый флажок «Апрель 2015», он должен выглядеть следующим образом checkedAll .
Имя моего текущего флажка создано на основе цикла $ i name='check_all[".$i."]'
. и флажки должны быть названы как "
checkbox[1], checkbox[2],..
"
но в javascript, как я должен позволить ввести номер цикла в document.getElementsByName("check_all[]")
. Цикл основан на строке базы данных, поэтому я не хочу делать ее жестко запрограммированной. Как мне дать document.getElementsByName("check_all[]")
получить
document.getElementsByName("check_all[2]") or document.getElementsByName("check_all[3]")
в зависимости от функции.
Функция
public function showMY(){
..other codes...
$i = 1;
while($row = mysqli_fetch_assoc($viewSQL)) {
$MY= $row['MY'];
echo "<tr>
<td><input type='checkbox' name='' onclick=\"toggle2(this); showMe2('divCheckbox');\" >
</td>
<tr>
<td><input type='checkbox' class='some_cls' name='check_all[".$i."]' value='' onclick='showMe2('divCheckbox')'></td>";
$i++;
}
}
Javascript
function toggle2(source) {
var checkboxesCls = document.querySelectorAll('input.some_cls');
for(var i=0, n=checkboxesCls.length;i<n;i++) {
checkboxesCls[i].checked = source.checked;
}
}
function showMe2 (box) {
var chboxs = document.querySelectorAll('input.some_cls');
var vis = "none";
for(var i=0;i<chboxs.length;i++) {
if(chboxs[i].checked){
vis = "inline";
break;
}
}
document.getElementById(box).style.display = vis;
}
Мне было очень трудно решить эту проблему, пожалуйста, помогите.
Отредактировано:
Это последний код, который я реализовал. Текущая проблема заключается в том, что он будет автоматически проверять данные ниже «Январь 2016», когда я просто хочу проверить все данные ниже «Апрель 2015». изображение