我有这个jQuery代码:
$(document).ready(function(){
$('.checkdisplay').change(function(){
if(this.checked)
$('.todisplay').fadeIn('slow');
else
$('.todisplay').fadeOut('slow');
});
});
只有当我检查.checkdisplay单选按钮时才能正常工作:div出现,但之后,如果我取消选中.checkdisplay单选按钮,则div .todisplay不会消失。
我哪里错了? :(
编辑:
答案 0 :(得分:1)
您需要测试所有无线电并仅显示具有正确类别的无线电
您也可以使用ID
请注意,我使用.on("click"
,因为在某些浏览器中更改需要模糊
$(function(){
$("input[name='roomdoor']").on("click",function(){
if ($(this).hasClass("checkdisplay") && this.checked)
$('.todisplay').fadeIn('slow');
else
$('.todisplay').fadeOut('slow');
});
});
答案 1 :(得分:0)
问题是您的radio
按钮,您应该使用checkbox
之类的,
radio button
课程checkdisplay
为checked
后,checked
为unchecked
,<input type='checkbox' class='checkdisplay' />
<div class='todisplay'>test</div>
$(document).ready(function(){
$('.radio').change(function(){// add onchange on radio class
// check the radio has checkdisplay class or not
if($(this).hasClass('checkdisplay') && this.checked)
$('.todisplay').fadeIn('slow');
else
$('.todisplay').fadeOut('slow');
});
});
已更新,尝试使用
{{1}}
答案 2 :(得分:0)
$(document).ready(function () {
$('.radio').change(function () {
if ($(this).hasClass('checkdisplay') && this.checked) $('.todisplay').fadeIn('slow');
else $('.todisplay').fadeOut('slow');
});
});
问题是,你不能取消选中一个无线电按钮。
答案 3 :(得分:-1)
$('.checkdisplay').click(function() {
if( $(this).is(':checked')) {
$(".todisplay").fadeIn('slow');
} else {
$(".todisplay").fadeOut('slow');
}
});