2010-11-11 71 views
2

嘿傢伙我犯了一個形式jQuery和唯一的問題是在的slideToggle功能操作與jQuery的無線輸入

jQuery的

$(".ChoosePayMethod").click(function(){ 
     var ID = $(this).attr("id"); 
    if ($('input[name=ChoosePayMethod]:checked')) { 
     $("#PayMethod_"+ID).slideToggle("slow"); 

    } 

HTML

<label><input type="radio" name="ChoosePayMethod" value="epay" id="epay" class="ChoosePayMethod"/>پرداخت آنلاین توسط درگاه های اینترنتی </label><br />  
<label><input type="radio" name="ChoosePayMethod" value="bpay" id="bpay" class="ChoosePayMethod" />پرداخت به روش ارسال شماره فیش بانکی </label><br /> 
<label><input type="radio" name="ChoosePayMethod" value="cpay" id="cpay" class="ChoosePayMethod" />پرداخت به روش کارت به کارت و ثبت رسید</label><br /> 


    <div id="PayMethod_bpay" class="hidden" > soon </div> 
    <div id="PayMethod_cpay" class="hidden" > soon </div> 
    <div id="PayMethod_epay" class="hidden" > soon </div> 

它的slideToggle當我點擊在收音機框但問題是如何關閉其他打開的div盒?

我需要這個,因爲我在一個電臺輸入點擊,我有一個打開的div

回答

1
$(".ChoosePayMethod").click(function(){ 
    $("div[id*='PayMethod_']:visible").slideToggle("slow"); 
     var ID = $(this).attr("id"); 
     if (this.checked) { 
     $("#PayMethod_"+ID).slideToggle("slow"); 
     } 
    }); 
0

你應該叫slideDown()選定格,並slideUp()在另外兩個。

0

添加類的div如pay-method-details

$('.pay-method-details').each(function() { 
    $(this).hide(); 
}); 

之前顯示新的一個。您也可以跟蹤當前選中的一個,然後自行關閉它。