2013-03-14 45 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(); 
     }); 
    }); 
});