簡體   English   中英

驗證jQuery中的選擇框值

[英]Validate a select box value in jquery

我在彈出窗口中有一個選擇框。 如果選擇第一個值,則需要調用另一個彈出窗口。 iam使用jQuery即興彈出窗口,並且具有“ html”和“ submit”功能來分別添加HTML和Submit回調。 有什么方法可以在提交之前驗證彈出窗口中的選擇框值。

var my_states = {
state0: {
    title: 'Name',
    html:'<label>First <input type="text" name="fname" value=""></label><br />'+
        '<label>Last <input type="text" name="lname" value=""></label><br />',
    buttons: { Next: 1 },
    //focus: "input[name='fname']",
    submit:function(e,v,m,f){ 
        console.log(f);

        e.preventDefault();
        $.prompt.goToState('state1');
    }
},
state1: {
    title: 'Check Here',
    html:'<table><tr><td><strong>Generate ODEC ID </strong></td><td>:</td><td id=\'gen_odec\' class=\'gen_odec\'>   <select name=\'select_odec\' id=\'select_odec\' class=\'select_odec\'>'+<?php echo json_encode($odecpref)?>+'</select></td></tr></table>',
    buttons: { Back: -1, Next: 1 },
    //focus: ":input:first",
    submit:function(e,v,m,f){ 
        console.log(f);

        if(v==1) {$.prompt.close();
                    return false;}
        if(v==-1) $.prompt.goToState('state0');
        e.preventDefault();
    }
},  
 };  
 $.prompt(my_states);

編輯1:在選擇框中插入'html'和內部,我也嘗試了此操作,並附加了一個按鈕,但我認為我錯過了一些東西-

<input id="clickMe" type="button" value="clickme" onclick="$.prompt(\"Hello!\");" />

也,

<input id="clickMe" type="button" value="clickme" onclick="doFunc()" />

編輯2對此進行了嘗試,但也出現錯誤提示: Uncaught SyntaxError:Unexpected token}

<td id=\'gen\' class=\'gen_odec\'>  <select name=\'select_odec\' id=\'select_me\' class=\'select_me\'>'+<?php echo json_encode($odecpref)?>+'</select><input id="clickMe" type="button" value="clickme" onclick="doFunction();function doFunction(){$.prompt("Hello!");}" /></td>

據我了解,您需要添加偵聽器以changeselect事件。 但是由於該選擇已動態添加到文檔中,因此您應該使用事件委托 然后,在處理程序中,檢查選擇值,然后僅調用目標彈出窗口。 像這樣:

$(document).on('change', '#select_odec', function(){
    if($(this).val() === 'valueOfDesiredOption') {
        $.prompt.goToState('stateYouNeed');
    }
});

暫無
暫無

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

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