【问题标题】:how do i enable / disable divs on radio selection我如何启用/禁用收音机选择上的 div
【发布时间】:2013-03-01 02:07:08
【问题描述】:

我有一个表单,我想在其中提供 3 个选项来支付活动费用。每个选项都是一个单选按钮,并包含一个带有付款详细信息的 div。我希望在选择单选按钮之前隐藏这些 div。

我已经用我目前拥有的东西创建了一个 JSfiddle:http://jsfiddle.net/Kvg8M/1/

目前,我已经设法将所有 3 个 div 隐藏并同时显示,但我只想根据收音机选择显示一组细节并隐藏其他细节。

这里是 JS:

$(document).ready(function () {
    $(".paymentmethod").click(function () {
        $(".paymentinfo").show('slow');
    });
});

【问题讨论】:

  • 感谢 cmets 以及解决此问题的不同方法。

标签: javascript html radio-button show-hide


【解决方案1】:

查看值并显示适当的 DIV。

$(document).ready(function () {
    $(".paymentmethod").click(function () {
        $(".paymentinfo").hide();
        switch ($(this).val()) {
            case "Direct Deposit":
                $("#pay0").show("slow");
                break;
            case "Credit Card Authorisation":
                $("#pay1").show("slow");
                break;
            case "Cash at FAA Office (In Person)":
                $("#pay2").show("slow");
                break;
        }
    });
});

FIDDLE

【讨论】:

    【解决方案2】:

    我会为每个输入添加一个data-pay 属性,其值等于您要显示的<div>id

    HTML:

    <input type="radio" value="Direct Deposit" id="CAT_Custom_249152_0" name="CAT_Custom_249152" class="paymentmethod" data-pay="pay0"/>
    <input type="radio" value="Credit Card Authorisation" id="CAT_Custom_249152_1" class="paymentmethod" name="CAT_Custom_249152" data-pay="pay1"/>
    <input type="radio" value="Cash at FAA Office (In Person)" id="CAT_Custom_249152_2" class="paymentmethod" name="CAT_Custom_249152" data-pay="pay2"/>
    

    Javascript:

    $(document).ready(function () {
      $(".paymentmethod").click(function () {
        $('.paymentinfo').hide();
        $('#'+$(this).data('pay')).show('slow');
      });
    });
    

    FIDDLE

    【讨论】:

      猜你喜欢
      • 2012-11-13
      • 2012-02-19
      • 1970-01-01
      • 2020-02-27
      • 2017-07-22
      • 1970-01-01
      • 2011-06-04
      • 2011-11-10
      相关资源
      最近更新 更多