Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   выбор всех check без привязки к name (https://javascript.ru/forum/dom-window/45381-vybor-vsekh-check-bez-privyazki-k-name.html)

SLameN 26.02.2014 13:49

выбор всех check без привязки к name
 
Есть чеки с одинаковым именем, но разделены они на несколько частей, разделены будет как пример дивами с определенными класами или ид. Как мне сделать для каждой части один чек, по которому будут выбирать все чеки в данном диве

ksa 26.02.2014 13:51

Цитата:

Сообщение от SLameN
Как мне сделать для каждой части один чек, по которому будут выбирать все чеки в данном диве

Просто повесь нужный обработчик именно на него... Делов-то...

SLameN 26.02.2014 14:01

Верно делаю? Это пока не получается :(

<script type="text/javascript">
    function checkAllOne(formName, checkboxName, varChecked) {
        var tablinks = document.getElementById('one').getElementsByTagName('input');
        for (var i = 0, j = tablinks.length; i < j; i++) {
            formName[checkboxName][i].checked = varChecked;
        }
    }
</script>


<input type="checkbox" name="total" onClick="checkAllOne(this.form,'phone[]',this.checked)" />
<div id='one'>
<input type='checkbox' name='phone[]' />
</div>

ksa 26.02.2014 14:07

Цитата:

Сообщение от SLameN
Верно делаю?

Не поленись и сделай пример нормальный. Именно с несколькими группами, а не два чека, как утебя сейчас...

SLameN 26.02.2014 14:11

Я специально сделал минимум, чтобы удобней читать
<script type="text/javascript">
    function checkAllOne(formName, checkboxName, varChecked) {
        var tablinks = document.getElementById('one').getElementsByTagName('input');
        for (var i = 0, j = tablinks.length; i < j; i++) {
            formName[checkboxName][i].checked = varChecked;
        }
    }

function checkAllTwo(formName, checkboxName, varChecked) {
        var tablinks = document.getElementById('one').getElementsByTagName('input');
        for (var i = 0, j = tablinks.length; i < j; i++) {
            formName[checkboxName][i].checked = varChecked;
        }
    }
</script>


<input type="checkbox" name="total" onClick="checkAllOne(this.form,'phone[]',this.checked)" />Выбрать все
 
<div id='one'>
<input type='checkbox' name='phone[]' />
<input type='checkbox' name='phone[]' />
<input type='checkbox' name='phone[]' />
</div>


<input type="checkbox" name="total" onClick="checkAllTwo(this.form,'phone[]',this.checked)" />Выбрать все
 
<div id='two'>
<input type='checkbox' name='phone[]' />
<input type='checkbox' name='phone[]' />
<input type='checkbox' name='phone[]' />
</div>

ksa 26.02.2014 14:14

Цитата:

Сообщение от SLameN
Я специально сделал минимум

Понитие "минимум" видать у всех разное... :D

рони 26.02.2014 14:22

SLameN,
у вас формы в макете нет
<!DOCTYPE HTML>
<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
<script type="text/javascript">
    function checkAllOne(formName, checkboxName, varChecked) {
        var tablinks =  formName[checkboxName];
        if(tablinks.length) {
        for (var i = 0, j = tablinks.length; i < j; i++) {
            tablinks[i].checked = varChecked;
        } }
        else tablinks.checked = varChecked
    }
</script>

</head>

<body><form action="http://">
 <input type="checkbox" name="total" onClick="checkAllOne(this.form,'phone[]',this.checked)" />
<div id='one'>
<input type='checkbox' name='phone[]' />
</div>
</form>


</body>

</html>

SLameN 26.02.2014 14:33

рони,
Спасибо за желание помочь! Выделяет все чеки, а мне нужно, чтобы внутри дива только

ksa 26.02.2014 14:34

Такой вот вариант для затравки...

<!DOCTYPE html>
<html>
<head>
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<link rel='stylesheet type=text/css href=tmp.css' />
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
$(function () {
	$('[name="total"]').click(function (){
		var o=$(this).next().find('input:checkbox').click();
	});
});
</script>
</head>
<body>
<input type="checkbox" name="total" />Выбрать все
<div id='one'>
	<input type='checkbox' name='phone[]' />
	<input type='checkbox' name='phone[]' />
	<input type='checkbox' name='phone[]' />
</div>
<input type="checkbox" name="total" />Выбрать все
<div id='two'>
	<input type='checkbox' name='phone[]' />
	<input type='checkbox' name='phone[]' />
	<input type='checkbox' name='phone[]' />
</div>
</body>
</html>

рони 26.02.2014 14:38

Цитата:

Сообщение от SLameN
Спасибо за желание помочь! Выделяет все чеки, а мне нужно, чтобы внутри дива только

либо ставьте this.form либо меняйте его на this.nextElementSibling


Часовой пояс GMT +3, время: 15:52.