簡體   English   中英

如果在下拉列表中選擇了某個字段,如何僅運行JQuery函數

[英]How to only run a JQuery function if a certain field is chosen in a drop down

好吧,我有一個相當普通的狀態下拉列表。

<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");
})
}; 

有人在乎為什么不起作用需要幫助?

您需要將條件放入事件處理程序中,而不是將事件處理程序放入條件中。

現場演示

jQuery(function($){    
   $('#stateid').click(function(){
        if($(this).val() =='AL') {
           $("input[name=phone]").mask("(999) 999-9999? ext.99999");
        }  
    });
}); 

這是單擊事件處理程序的語法。

$("selector").click(function() {
   //You code here, your condition 
});

您可以在此處了解有關選擇器的更多信息;

為什么不起作用?

您從哪里學到的#stateid.wpcf7-form-control 那是語法錯誤。

選擇一個元素

var select = $("#stateid.wpcf7-form-control");

添加onchange事件

select.on("change", function(){

});

獲得價值

select.val();

如果只希望在選擇一個特定選項時才應用該掩碼,而不希望在其他選項中應用該掩碼,那么如果用戶隨后選擇的選項不等於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
        }
    });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM