JavaScript触发器操作基于下拉值

时间:2016-03-19 03:26:45

标签: javascript jquery

我正在尝试修改一些我必须做的JavaScript,这样当根据num值选择一个选项时,它将运行不同的操作。

以下是我目前的JavaScript:

 jQuery(".frequency_new_selector").on("change", function() {
         jQuery('.frequency_new_label option:first-child').attr("disabled", "disabled");
         jQuery(".frequency_num").val(jQuery(".frequency_new_selector").find("option[value='" + jQuery(".frequency_new_selector").val() + "']").data("num"));
         jQuery(".frequency_type").val(jQuery(".frequency_new_selector").find("option[value='" + jQuery(".frequency_new_selector").val() + "']").data("type"));
         jQuery(".frequency_type_text").attr("value", jQuery(".frequency_type option[value='" + jQuery(".frequency_type").val() + "']").text());
         if (jQuery(".frequency_new_selector").val() !== null && $(".single-option-radio input:checked").length == $(".single-option-radio").length) {
             jQuery("#AddToCart").removeAttr("disabled");
         }
      });

我想添加一行,如下所示:

if (jQuery(".frequency_new_selector").val() == 1 {
                 event.preventDefault();
                 $('.cd-popup').addClass('is-visible');
             }

我的HTML看起来像这样:

<div class="frequency_new_label" style="">
    <select class="frequency_new_selector">
        <option selected="selected" disabled="disabled">Please Select Shipping Interval</option>
        <option data-type="2" data-num="1" value="1">Weekly</option>
        <option data-type="3" data-num="1" value="2">Monthly</option>
    </select>
</div>

1 个答案:

答案 0 :(得分:0)

你应该按照你的方式工作......但是我可能会稍微改变它,因为你正在做一个不必要的jQuery调用,而且它们是相当昂贵的操作。

当您调用更改回调时,{I}将被分配给DOM元素(下拉列表)。

&#13;
&#13;
this
&#13;
&#13;
&#13;