0

jQuery検証プラグインを使用していますが、すべてのフィールドで正常に機能しますが、使用するとselect機能しません

HTML

<form>
    <select id="name" name="name">
        <option>Select</option>
        <option value='select'>Select</option>
        <option value='abc'>ABC</option>
        <option value='xyz'>XYZ</option>    
    </select>
    <input type='submit' value='Submit' />
</form>

脚本

var f=$("form").validate({
    rules: {
        name:{
            required:
                 function(element) {
                     st=($(element).val() == '') || ($(element).val() == 'select');
                     return st;
                }
        }
    },
    messages: {
        name: {required: "Please select name"}
});

stop submitionまた、フォームが であっても であっても、検証後にしたいvalidですnot

使用したくないことに注意$.validator.addMethodしてください。

もう検索した

  1. jQuery セレクト ボックスの検証
  2. jQuery検証選択ボックス
  3. http://www.coldfusionjedi.com/demos/jqueryvalidation/test4.html
4

2 に答える 2

1
if($("#name :selected").val() == '') 
    return false;
于 2013-05-17T08:42:02.390 に答える
0

簡単なエラーチェックを少し複雑にしすぎているプラ​​グインだと言えます! それからまた、開発者の Github Demo pageであなたがやろうとしているのと同じことを見つけました。

フィドル: http://jsfiddle.net/hAWR3/14/

<script>
    $("#formsubmission").submit(function(event){ 

        /** Cache Result **/
        var tmp = $('#selectname').val();
        console.log( "Selected Name: " + tmp );

        if ( tmp == 'select' || tmp == 'Select' ) {

            /** Prevent the submission **/
            event.preventDefault();
            console.log( 'Unvalidated!' ); 

        } else {

            /** Submit as normal!! **/
            console.log( 'Validated!' );   
        }

    });
</script>

<form method="post" id="formsubmission">
    <select id="selectname" name="name">
        <option>Select</option>
        <option value='select'>Select</option>
        <option value='abc'>ABC</option>
        <option value='xyz'>XYZ</option>    
    </select>
    <input type='submit' value='Submit' />
</form>

注: HTML の例で like 内に値がない場合は、<option></option>'s!内に値が入れられます。

于 2013-05-17T08:42:26.937 に答える