我正在尝试修改一些我必须做的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>
答案 0 :(得分:0)
你应该按照你的方式工作......但是我可能会稍微改变它,因为你正在做一个不必要的jQuery调用,而且它们是相当昂贵的操作。
当您调用更改回调时,{I}将被分配给DOM元素(下拉列表)。
this
&#13;