отметить checkbox по title
Здравствуйте!
имеется такая структура:
<ul>
<li onClick="checkall(this.title)" title="1">Язык 1
<ul>
<li><input type="checkbox" name="box[]" title="1">позиция 1<li>
<li><input type="checkbox" name="box[]" title="1">позиция 2<li>
<li><input type="checkbox" name="box[]" title="1">позиция 3<li>
</ul>
</li>
<li onClick="checkall(this.title)" title="2">Язык 2
<ul>
<li><input type="checkbox" name="box[]" title="2">позиция 1<li>
<li><input type="checkbox" name="box[]" title="2">позиция 2<li>
<li><input type="checkbox" name="box[]" title="2">позиция 3<li>
</ul>
</li>
</ul>
Как мне реализовать чтобы при нажатии на Язык № выделялись все чекбоксы этого раздела? |
function checkall(clicker) {
var inputs = clicker.parentNode.getElementsByTagName('input');
for(var i = 0; i < inputs.length; i++) inputs[i].checked = true;
}
onclick назначаем span элементу, а не li (иначе будет выделяться всё даже при клике по одной галочке), и в качестве аргумента подаём this:
<ul>
<li title="1"><span onclick="checkall(this)">Язык 1</span>
<ul>
<li><input type="checkbox" name="box[]" title="1">позиция 1<li>
<li><input type="checkbox" name="box[]" title="1">позиция 2<li>
<li><input type="checkbox" name="box[]" title="1">позиция 3<li>
</ul>
</li>
<li title="2"><span onclick="checkall(this)">Язык 2<span>
<ul>
<li><input type="checkbox" name="box[]" title="2">позиция 1<li>
<li><input type="checkbox" name="box[]" title="2">позиция 2<li>
<li><input type="checkbox" name="box[]" title="2">позиция 3<li>
</ul>
</li>
</ul>
|
crayday, благодарю, все работает!
|
| Часовой пояс GMT +3, время: 02:52. |