2010-09-04 25 views

Trả lời

30

Đó là dễ dàng như:

$('#UseUsername').change(function(){ 
    if($(this).is(':checked')){ 
    $('#div').show(); 
    } else { 
    $('#div').hide(); 
    } 
}); 

Ngoài ra, bạn có thể cháy, sự kiện này khi tải trang, vì vậy div sẽ biến mất nếu hộp kiểm không được chọn.

// Show the div only if the checkbox is checked 
function toggleDiv(){ 
    if($(this).is(':checked')){ 
    $('#div').show(); 
    } else { 
    $('#div').hide(); 
    } 
} 

$(document).onload(function(){ 

    // Set change event to hide/show the div 
    $('#UseUsername') 
    .change(toggleDiv) 
    .trigger('change'); 
}); 
+0

tôi sử dụng display: none nên div dont xuất hiện – Karem

+2

1 để có thể hiểu câu hỏi gốc XD – Supuhstar

+0

khi không được chọn -> phần khác không hoạt động \t \t \t \t $ ('# sampathcrdr') .change (function() { if ($ (this) .is (': checked')) { alert ("ok"); } else { cảnh báo ("Gonee"); } }); –

13

Một cách rất đơn giản sẽ là như thế này:

$('#UseUsername').change(function(){ 
    $('#div').toggle(this.checked); // show if it is checked, otherwise hide 
}); 

Hãy thử nó:http://jsfiddle.net/mHNuN/

+0

Giải pháp này tốt hơn nhiều so với tôi:] – Harmen

+1

Tôi nghĩ rằng giải pháp của Harmen là tốt hơn. Sử dụng chuyển đổi có thể dẫn đến trạng thái hộp kiểm và chức năng mong muốn trở nên không đồng bộ. Tốt nhất để kiểm tra trạng thái sau mỗi lần thay đổi. –

+0

Sử dụng quá trình chuyển đổi (bool) của quá trình chuyển đổi sẽ không khiến trang không đồng bộ, khi bạn chuyển vào nếu nó phải được hiển thị hoặc ghi chú –

Các vấn đề liên quan