好的,我有一个非常通用的状态下拉。
<select class="wpcf7-form-control wpcf7-select wpcf7-validates-as-required required" id="stateid" name="State"><option value="">---</option>
<option value="AL">AL</option>
<option value="AK">AK</option>
<option value="AZ">AZ</option>
<option value="AR">AR</option>
<option value="CA">CA</option>
<option value="CO">CO</option>
<option value="CT">CT</option>
<option value="DE">DE</option>
<option value="DC">DC</option>
<option value="FL">FL</option>
<option value="GA">GA</option>
<option value="HI">HI</option>
<option value="ID">ID</option>
<option value="IL">IL</option>
<option value="IN">IN</option>
<option value="IA">IA</option>
<option value="KS">KS</option>
<option value="KY">KY</option>
<option value="LA">LA</option>
<option value="ME">ME</option>
<option value="MD">MD</option>
<option value="MA">MA</option>
<option value="MI">MI</option>
<option value="MN">MN</option>
<option value="MS">MS</option>
<option value="MO">MO</option>
<option value="MT">MT</option>
<option value="NE">NE</option>
<option value="NV">NV</option>
<option value="NH">NH</option>
<option value="NJ">NJ</option>
<option value="NM">NM</option>
<option value="NY">NY</option>
<option value="NC">NC</option>
<option value="ND">ND</option>
<option value="OH">OH</option>
<option value="OK">OK</option>
<option value="OR">OR</option>
<option value="PA">PA</option>
<option value="RI">RI</option>
<option value="SC">SC</option>
<option value="SD">SD</option>
<option value="TN">TN</option>
<option value="TX">TX</option>
<option value="UT">UT</option>
<option value="VT">VT</option>
<option value="VA">VA</option>
<option value="WA">WA</option>
<option value="WV">WV</option>
<option value="WI">WI</option>
<option value="WY">WY</option>
我想要做的是仅在从下拉列表中选择某个值时才运行JQuery脚本。
这是我到目前为止的代码,但它不起作用
if(#stateid.wpcf7-form-control=='AL') {
jQuery(function($){
$("input[name=phone]").mask("(999) 999-9999? ext.99999");
})
};
任何人都在寻求帮助,为什么它不起作用?
答案 0 :(得分:5)
您需要将条件放在事件处理程序中,而不是将事件处理程序置于条件中。
<强> Live Demo 强>
jQuery(function($){
$('#stateid').click(function(){
if($(this).val() =='AL') {
$("input[name=phone]").mask("(999) 999-9999? ext.99999");
}
});
});
以下是click事件处理程序的语法。
$("selector").click(function() {
//You code here, your condition
});
您可以详细了解选择器here;
答案 1 :(得分:1)
为什么不起作用?
您在哪里了解#stateid.wpcf7-form-control
?这是一个语法错误。
选择一个元素
var select = $("#stateid.wpcf7-form-control");
添加onchange事件
select.on("change", function(){
});
获取值
select.val();
答案 2 :(得分:0)
如果您只想在选择一个特定选项时应用蒙版而不是其他选项,那么如果用户之后选择的选项不等于AL
,您可能还需要一种方法来清除蒙版
您可以使用从JavaScript .blur()
事件触发的函数来执行是否在输入上设置或清除掩码的逻辑。
$(function() {
$('#stateid').on('blur', function() { // hook in your custom function onto the element with id = stateid
if (this.options[this.selectedIndex].value === 'AL') { // check which option is selected
// set mask
} else {
// clear mask
}
});