具有相同名称和值的JQuery单选按钮 - 单击单选按钮时显示隐藏的div Ecwid

时间:2013-04-01 22:24:32

标签: jquery radio-button

我正在使用Ecwid购物车,并希望根据是否选中单选按钮隐藏/显示产品中的某些选项。

我的测试产品在这里:

http://www.farmboutique.com/testproduct1.html#!/~/product/category=5128132&id=21349373

我在使用javascript加载页面时隐藏了一些选项。

现在我想在有人点击单选按钮时显示隐藏的选项:

  

是(不超过9厘米x 9厘米)(+£4.50)

选项“您是否需要刺绣徽标”。

加载页面时始终选择默认值“不需要”。

同样,如果有人在页面加载后单击“是”选项,然后通过选择“不需要”来改变主意,则应该使其他选项再次消失。

“是(不超过9厘米x 9厘米)(+£4.50)”和“不需要”的单选按钮的html代码为:

    <div id="ecwid-productoption-21349373-Do_You_Require_An_Embroidered_Logo-container" class="ecwid-productBrowser-details-optionPanel ecwid-productBrowser-details-optionPanel-radio ecwid-productoption-Do_You_Require_An_Embroidered_Logo-container">

    <label class="ecwid-fieldLabel" for="gwt-uid-5">Do You Require An Embroidere​d Logo</label>

    <div id="gwt-uid-5"><span class="gwt-RadioButton ecwid-productBrowser-details-optionRadioButton ecwid-productoption-Do_You_Require_An_Embroidered_Logo-Yes_:0028no_more_than_9cm_x_9cm:0029" id="ecwid-productoption-21349373-Do_You_Require_An_Embroidered_Logo-Yes_:0028no_more_than_9cm_x_9cm:0029">

    <input type="radio" name="21349373-Do You Require An Embroidered Logo" value="on" id="gwt-uid-3" tabindex="0">

    <label for="gwt-uid-3"><span class="ecwid-productBrowser-details-optionRadioButton-name">Yes (no more than 9cm x 9cm)</span>

    <span class="ecwid-productBrowser-details-optionRadioButton-price"> <span class="ecwid-productBrowser-details-optionRadioButton-bracket">(</span>

    <span class="ecwid-productBrowser-details-optionRadioButton-sign">+</span>

    <span>£</span>4.50<span class="ecwid-productBrowser-details-optionRadioButton-bracket">)</span></span></label></span>

    <span class="gwt-RadioButton ecwid-productBrowser-details-optionRadioButton ecwid-productoption-Do_You_Require_An_Embroidered_Logo-Not_Required" id="ecwid-productoption-21349373-Do_You_Require_An_Embroidered_Logo-Not_Required">

<input type="radio" name="21349373-Do You Require An Embroidered Logo" value="on" id="gwt-uid-4" tabindex="0" checked="">

<label for="gwt-uid-4"><span class="ecwid-productBrowser-details-optionRadioButton-name">Not Required</span></label></span></div></div>
上面的

21349373是产品Id = page.productId

1 个答案:

答案 0 :(得分:0)

我认为你可以这样做。主要问题是我找不到任何有效的选择器来定位您的单选按钮,因为它的名称中有空格,我无法确定生成的id不会更改。尝试在元素上添加一些静态属性,以便更容易查询它们。如果您无法控制idname属性,则可以添加一些其他自定义属性。

$(function () {
    //get a reference to your hidden div
    var $divIfRequired = $('[id*=If_you_require_a_logo_to_be]');

    //add a click handler on your radio button
    $('put_some_selector_here').click(function () {
        //show or hide the div based on the checked status of the radio button
        $divIfRequired[this.checked? 'show': 'hide']();
    });
});