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>
当我点击单选框时它会滑动,但问题是如何关闭其他打开的div框?
我需要这个,因为我点击一个无线电输入我有一个打开的div
答案 0 :(得分:1)
$(".ChoosePayMethod").click(function(){
$("div[id*='PayMethod_']:visible").slideToggle("slow");
var ID = $(this).attr("id");
if (this.checked) {
$("#PayMethod_"+ID).slideToggle("slow");
}
});
答案 1 :(得分:0)
您应该在所选div上调用slideDown()
,在另外两个调用slideUp()
。
答案 2 :(得分:0)
为pay-method-details
等div添加一个类,然后执行
$('.pay-method-details').each(function() {
$(this).hide();
});
在展示新的之前。您还可以跟踪当前选定的一个,然后单独关闭它。