Отменить действие или событие.
Всем привет.Есть группа чекбоксов и отдельный чекбокс при клике на который становятся активными все чекбоксы в группе.А так же две скрытые ссылки, которые появляются в зависимости от того на какие чекбоксы кликали.
<a onclick="allDel()" class="ajax ajax_all_del" href="javascript:;">Удалить всё</a> <a class="ajax ajax_del" href="javascript:;">Удалить</a> <input onclick="check(this);" type="checkbox" name="self_del_all" value="0"> <input type="checkbox" name="self_del[]" class="self_del[]" id="1" value="0"> <input type="checkbox" name="self_del[]" class="self_del[]" id="2" value="0"> <input type="checkbox" name="self_del[]" class="self_del[]" id="3" value="0"> var b = document.getElementsByName('self_del_all'); var is_user; var a = document.getElementsByName('self_del[]'); var inp = $("input[name='self_del[]']"); Для отдельного чекбокса function check(self){ var checkValue=self.checked; for(i=0;i<a.length;i++){if(a[i].checked=checkValue){ $('.ajax_all_del').show() } else{ $('.ajax_all_del').hide()}}} Для группы. var handler = function(){ if(!$(b).prop("checked")){ if($(this).prop("checked")){var id = $(this).attr('id')} $('.ajax_del').toggle(inp.is(":checked")); $('.ajax_del').on('click',function(){del(id)}); } }; $(inp).bind('click',handler); Всё работает, но есть такой нюанс. Если выбрать чекбокс в группе и потом отметить отдельным чекбоксом все, не убрав галочку, то остаются видимыми обе ссылки. Как убрать ссылку "Удалить", если появляется "Удалить всё".Пробовал прописать $(b).on('click',function(){ $(inp).unbind('click',handler); $('.ajax_all').css('display','none'); }); Не прокатило.Подскажите,плиз. |
class="self_del[]" - это круто )
name="self_del[]" value="0" ..... name="self_del[]" value="0" почему? name="self_del_all" - зачем? И почему не LABEL "Удалить всё" вместо двух ссылок? |
Часовой пояс GMT +3, время: 19:31. |