【问题标题】:manipulation with radio input in jquery在 jquery 中使用无线电输入进行操作
【发布时间】:2010-11-12 07:54:55
【问题描述】:

大家好,我用 jquery 制作了一个表单,唯一的问题是在 slideToggle 函数中

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

【问题讨论】:

    标签: jquery


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

    【讨论】:

      【解决方案2】:

      您应该在选定的 div 上调用 slideDown(),在其他两个上调用 slideUp()

      【讨论】:

        【解决方案3】:

        在 div 中添加一个类,例如 pay-method-details 并执行

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-08-13
          • 2015-11-17
          • 1970-01-01
          • 2014-06-27
          • 2011-06-04
          • 1970-01-01
          • 2015-10-26
          相关资源
          最近更新 更多