2014-05-30 3 views
1

У меня есть флажок «.invalidDropChk», и когда я нажимаю на него, я хочу, чтобы его дочерние флажки были нажаты. Эта часть работает нормально. У меня есть флажок «Все». Я хочу проверить его, если другой флажок на странице «.invalidOffensive» также проверен. Но проблема заключается в том, что он входит как в конце, так и в конце, и мой флажок «Все» проверяется. Вот код:Если инструкции else выполняются в jquery

$('.invalidDropChk').live('click',function(){ 
     if($(this).is(':checked')){ 
      $(this).next().find('input[type="checkbox"]').attr('checked',true);   
      $(this).attr('checked',true); 
      var rad1 = document.getElementById("invalidDropChk"); 
      if(rad1 != null && rad1.attributes['checked']) 
       rad1.checked = true; 

     } 
     else 
     { 
      $(this).next().find('input[type="checkbox"]').attr('checked',false); 
      $(this).attr('checked',false); 
      var rad1 = document.getElementById("invalidDropChk"); 
      if(rad1 != null && rad1.attributes['checked']) 
       rad1.checked = false; 
     } 

     if (($(this).is(':checked')) && ($('.invalidOffensive').is(':checked'))){ 
      $('.check-all ').prop('checked',true);   
     } 
     else{ 
      $('.check-all ').prop('checked',false); 
     } 

    }); 

Код JSP страницы:

<ul class="invalidDrop"> 
       <c:choose> 
        <c:when test="${invalidDropForm.invalidStreetAddress==true && invalidDropForm.invalidSubName==true && invalidDropForm.derogatoryNames==true && invalidDropForm.businessNames==true && invalidDropForm.offensiveNames==true}"> 
        <li><input type="checkbox" class="check-all" checked /> All</li> 
        </c:when> 
        <c:otherwise> 
        <li><input type="checkbox" class="check-all" /> All</li> 
        </c:otherwise> 
       </c:choose> 
       <li> 
        <c:choose> 
         <c:when test="${invalidDropForm.invalidStreetAddress==true && invalidDropForm.invalidSubName==true}"> 
          <input type="checkbox" class="check-inside invalidDropChk" id="invalidDropChk" checked /> Invalid Name/Address 
         </c:when> 
         <c:otherwise> 
         <input type="checkbox" class="check-inside invalidDropChk" id="invalidDropChk" /> Invalid Name/Address 
         </c:otherwise> 
        </c:choose> 
        <ul class="inneritem">      
         <li><sf:checkbox path="invalidStreetAddress"/> Invalid Street Address</li> 
         <li><sf:checkbox path="invalidSubName" /> Invalid Sub Name</li> 
        </ul> 
       </li> 
       <li> 
        <c:choose> 
         <c:when test="${invalidDropForm.derogatoryNames==true && invalidDropForm.businessNames==true && invalidDropForm.offensiveNames==true}"> 
          <input type="checkbox" class="check-inside invalidOffensive" id="invalidOffensive" checked/> Offensive, Derogatory, Business Names 
         </c:when> 
         <c:otherwise> 
          <input type="checkbox" class="check-inside invalidOffensive" id="invalidOffensive"/> Offensive, Derogatory, Business Names 
         </c:otherwise> 
        </c:choose> 
        <ul class="inneritem"> 
         <li><sf:checkbox path="derogatoryNames" /> Derogatory Names</li> 
         <li><sf:checkbox path="businessNames" /> Business Names</li> 
         <li><sf:checkbox path="offensiveNames" /> Offensive Names</li> 
        </ul> 
       </li> 
      </ul> 
+0

Можете ли вы разместить свой HTML-код? Кроме того, у вас есть минута, чтобы поговорить о [JSFiddle] (http://www.jsfiddle.net)? – cr0ss

+0

@ cr0ss да отправил часть jsp из него ... никогда не использовал JSFiddle .. Пожалуйста, объясните подробнее .. –

+0

Надеюсь, вы понимаете, что '.live()' давно устарел и даже удален из последних версий jQuery. [Динамическая форма '.on()'] (http://stackoverflow.com/questions/8752321/jquery-live-vs-on-method-for-adding-a-click-event-after-loading-dynamic -ht/8752376 # 8752376) может заменить его. – jfriend00

ответ

0

в тексте: ... если другой флажок на странице ".invalidOffensive" не проверяется

в коде: ... & & ($ ('invalidOffensive.) .is (': проверено'))

+0

Я думаю, что я смутил это. Я хочу проверить «Все», если и текущий, и флажок .invalidOffensive проверен .... –

Смежные вопросы