нажмите на заголовок, чтобы переключить набор из нескольких флажков - PullRequest
0 голосов
/ 01 февраля 2012

У меня есть наборы флажков и повернутый h4 рядом с каждым набором.

Я пытаюсь сделать так, чтобы, когда я нажимаю чекбоксы, связанные с аллой h4 -все проверено - если они не все уже проверены, если это так, снимите все галочки.

enter image description here

jПросьба к ближайшему, за который я зашел:

    jQuery(".sidewaysHeader h4").click(function() {
        var now = $(this).attr('id');
        $('input:checkbox[name="'+ now +'"]').attr('checked', true );
    });

HTML:

        <div class="sidewaysHeader"><h4 id="halsa">Hälsa</h4></div>
        <input type="checkbox" value="idrott" id="idrott" name="halsa" /><label for="idrott">Idrott</label><br />
        <input type="checkbox" value="dans" id="dans" name="halsa" /><label for="dans">Dans</label><br />
        <input type="checkbox" value="hemkunskap" id="hemkunskap" name="halsa" /><label for="hemkunskap">Hemkunskap</label><br />
        <input type="checkbox" value="mat-och-boende" id="mat-och-boende" name="halsa" /><label for="mat-och-boende">Mat & Boende</label>

Ответы [ 3 ]

1 голос
/ 01 февраля 2012
$('.sidewaysHeader h4').click(function() {
   var now = $(this).attr('id');
   if($('input:checkbox[name="'+ now +'"]:not(:checked)').length >= 1)
     $('input:checkbox[name="'+ now +'"]').attr('checked', 'checked');
   else
      $('input:checkbox[name="'+ now +'"]').removeAttr('checked');
});

Что это будет делать, так это искать любой непроверенный ввод в группе, если какой-либо флажок еще не установлен, тогда отметьте все, в противном случае мы снимаем все, потому что знаем, что все они проверены.

0 голосов
/ 01 февраля 2012

что я понимаю, вы хотите проверить и снять все флажки при нажатии на заголовок.и если какой-либо из них уже проверен, проверьте их все.Вы можете сделать это следующим образом

jQuery(".sidewaysHeader h4").click(function() {
    var elems = $('input:checkbox[name="'+ $(this).attr('id') +'"]');
    elems.attr('checked', elems.filter(':checked').length != elems.length);
});

пример скрипки: http://jsfiddle.net/tuhLG/6/

0 голосов
/ 01 февраля 2012

на самом деле это работает

http://jsfiddle.net/tuhLG/2/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...