2013-01-04 33 views
6

Tôi có các hộp kiểm sau trong nhiều div.Chọn hoặc bỏ chọn tất cả các hộp kiểm có cùng tên lớp dựa trên giá trị

<div class="div1"> 
    <input type="checkbox" class="chkbox" value="101"> This is 101 
    <input type="checkbox" class="chkbox" value="102"> This is 102 
    <input type="checkbox" class="chkbox" value="103"> This is 103 
</div> 
<div class="div2"> 
    <input type="checkbox" class="chkbox" value="110"> This is 110 
    <input type="checkbox" class="chkbox" value="102"> This is 102 
    <input type="checkbox" class="chkbox" value="101"> This is 101 
</div> 

Như đã trình bày ở trên, một số hộp kiểm có cùng giá trị (ví dụ: 101) trên nhiều div. Bây giờ, bất cứ khi nào một hộp kiểm được chọn, tôi cần phải kiểm tra các hộp kiểm khác có cùng giá trị. Tương tự, để bỏ chọn.

$(".chkbox").change(function() { 
    // If checked 
    if (this.checked) 
      // find other checkboxes with same value and check them 
    else 
      // find other checkboxes with same value and uncheck them 
} 

Trả lời

8

bạn có thể làm:

$(".chkbox").change(function() { 
    var val = $(this).val(); 
    if($(this).is(":checked")) { 

    $(":checkbox[value='"+val+"']").attr("checked", true); 
    } 
    else { 
     $(":checkbox[value='"+val+"']").attr("checked", false); 
    } 
}); 

Demo: jsFiddle

3
$(".chkbox").change(function() { 
    $(":checkbox[value="+$(this).val()+"]").prop("checked", this.checked); 
} 
0

Bạn có thể làm điều đó như thế này.

Live Demo

$(".chkbox").change(function() { 
    // If checked 
    if (this.checked) 
      $(":checkbox[value=" + this.value + "]").attr('checked', true); 
    else 
      $(":checkbox[value=" + this.value + "]").attr('checked', false);   // find other checkboxes with same value and uncheck them 
}) 

Bạn bỏ lỡ paraenthesis đóng ) của sự kiện thay đổi.

+0

Lý do bỏ phiếu xuống? – Adil

0
$(".chkbox").change(function() { 
    var value = $(this).attr("value"); 

    $(".chkbox[value='" + value + "']").prop("checked", this.checked); 
}); 
0
// if user has already sent the survey 
    if(user_id_value){ 

     var result = confirm("This user already received a survey. Are you sure you want to resend?"); 

     // do not send the survey again 
     if(!result){    
      $(":checkbox[value='"+user_id+"']").attr("checked", false);   
     }// end if not confirmed 

    }// end if 
Các vấn đề liên quan