验证jquery中的选择框值

时间:2015-01-17 07:49:01

标签: jquery html validation select

我在弹出窗口中有一个选择框。如果选择了第一个值,我需要调用另一个弹出窗口。我使用jQuery即兴弹出窗口,它有'html'和'submit'功能来添加HTML&分别提交回调。有什么办法可以在提交之前验证弹出窗口中的选择框值。

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:insid'html'&amp;在选择框内 我也尝试了这个,附带一个按钮,但我想我错过了一些东西 -

<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>

1 个答案:

答案 0 :(得分:1)

据我所知,您需要在change上添加select事件的监听器。但由于选择动态添加到文档中,您应该使用event delegation。然后,在处理程序中,检查选择值,然后只调用目标弹出窗口。这样的事情:

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