JQuery снять флажок при условии - PullRequest
0 голосов
/ 24 сентября 2010

В div есть эти флажки (name = "val1") и после определенной операции эти флажки снимаются

<div name="navigation_b">
    <label id="selectall">
        select all 
        <input type="checkbox" name="selectall" />
    </label>
    <input type="checkbox" name="val1" />   
    <input type="checkbox" name="val1" />   
    <input type="checkbox" name="val1" />   
    <input type="checkbox" name="val1" />   
    <input type="checkbox" name="val1" />   
</div>

Если все флажки (name = val1) сняты, selectall не должен быть видим

Ответы [ 3 ]

1 голос
/ 24 сентября 2010
if( $("input:checkbox[name='val1']").length==0)
{
       $("input:checkbox[name='selectall']")
      .hide();
}

Источник здесь и здесь

Редактировать

Вы можете скрыть весь ярлык, которыйсодержит selectall -

if( $("input:checkbox[name='val1']").length==0)
{
       $("label#selectall")
      .hide();
}
0 голосов
/ 24 сентября 2010

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

0 голосов
/ 24 сентября 2010

Вы можете проверить, есть ли какие-либо из флажков, а если нет, то уберите метку

if($('input:checkbox[name="val1"]').length) {
    // do something
}
else {
    // do something else
}

. Выше не проверено, но я думаю, что это довольно близко.

...