2013-05-15 34 views
2

嗨,大家好我需要在發出ajax請求後檢查某些複選框。在ajax調用後檢查某些複選框

Ajax請求不從另一個頁面拉複選框和使用jQuery的是原單頁上。林不知道如何去這個我想:

<input type="checkbox" class="case" name="case" value="1"/> 
<input type="checkbox" class="case" name="case" value="2"/> 
<input type="checkbox" class="case" name="case" value="3"/> 
<input type="checkbox" class="case" name="case" value="4"/> 

$(document).ready(function() 
{ 
    $(function() 
    { 
     $("#selectall").on('click', function(){ 
      $('.case').attr('checked',this.checked); 
     }); 

     $(".case").on('click', function(){ 
      if($(".case").length==$(".case:checked").length) 
      { 
       $("#selectall").attr("checked","checked"); 
      } 
      else 
      { 
       $("#selectall").removeAttr("checked"); 
      } 
     }); 
    });}); 

時,有沒有涉及Ajax請求,工作正常。我想知道如果有人能夠幫助我找到一種方法來允許在使用ajax請求時檢查複選框嗎?

感謝

回答

0

你需要爲了即使阿賈克斯負荷後,點擊綁定「的」 http://api.jquery.com/on/使用jquery ...

<input type="checkbox" class="case" name="case" value="1"/> 
<input type="checkbox" class="case" name="case" value="2"/> 
<input type="checkbox" class="case" name="case" value="3"/> 
<input type="checkbox" class="case" name="case" value="4"/> 

<SCRIPT> 
$(function(){ 
    $("#selectall").on('click', function(){ 
     $('.case').attr('checked',this.checked); 
    }); 

    $(".case").on('click', function(){ 
     if($(".case").length==$(".case:checked").length) 
     { 
      $("#selectall").attr("checked","checked"); 
     } 
     else 
     { 
      $("#selectall").removeAttr("checked"); 
     } 
    }); 
}); 
</SCRIPT> 
+0

感謝,即時得到一個錯誤,現在說對象對我會需要把這個函數在jQuery中的的document.ready沒有方法? – user1714133

+0

是的,它需要去裏面的document.ready jQuery中 –

+0

IM仍然得到錯誤的「對」 – user1714133

0

我想這將是更好地檢查在頁面即獲取這些複選框的複選框。 所以使用Ajax加載HTML,比負荷全面檢查框

0

你需要委託的事件..

由於複選框尚未公佈在網頁上,當事件的約束。因此將它們委派給靜態父容器應該可以解決問題。

$(staticContainer).on.('click', "#selectall", function ({ 
    $('.case').prop('checked', this.checked); 
}); 

$(staticContainer).on.('click', 'case', function() { 
    if ($(".case").length == $(".case:checked").length { 
     $("#selectall").prop("checked", true); 
    } else { 
     $("#selectall").prop("checked", false); 
    } 
}); 

而取消選中複選框而不是刪除它的屬性總是一個好主意。