2013-03-14 81 views
0
$("input[name=sample]").click(function(){ 
      $("#"+$(this).val()).show(); 
      $("#"+$("input[name=sample]:not(:checked)").val()).hide(); 
    }); 
}); 

我用这个在两个div之间切换。但是当我添加第三个div和单选按钮时,这对第三个不起作用。它在点击时显示,但不隐藏其他人。什么会导致这种情况?jquery无线组切换点击

+2

你可以用第三个div来显示你的新html吗? – Oliver 2013-03-14 14:32:55

+3

通过输入[name = sample],您只需切换1个其他元素。你需要分别切换每一个。 – ThaMe90 2013-03-14 14:34:08

回答

0

你现在有隐藏,因此使用这样的一个以上的元素:

$('input[name="sample"]').on('click', function(){ 
     $("#"+this.value).show(); 
     $("input[name=sample]:not(:checked)").each(function() { 
      $('#'+this.value).hide(); 
     }); 
}); 
1

为所有Div添加一个班级,并在显示之前隐藏该班级。 (例如:类= “divHide”)

$("input[name=sample]").click(function(){ 
    $(".divHide").hide(); 
    $("#"+$(this).val()).show(); 
}); 
0

隐藏每个非选择的要素:

$("input[name=sample]").click(function(){ 
    $("#"+$(this).val()).show(); 
     $("input[name=sample]:not(:checked)").each(index, item){ 
      $("#" + $(item).val()).hide(); 
     }); 
    }); 
});