2010-11-11 72 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(); 
}); 

之前显示新的一个。您也可以跟踪当前选中的一个,然后自行关闭它。