-1

jquery 検証プラグインを使用して、次のようなフォームを検証する必要があります。

<form class="myform"
<select name="Input" id="input1">
<option value="DO0" opt_numAdults="2" opt_numChilds="0" >0</option>
<option value="DO1" opt_numAdults="2" opt_numChilds="0" >1</option>
<option value="DO2" opt_numAdults="2" opt_numChilds="0" >2</option>
<option value="DO3" opt_numAdults="2" opt_numChilds="0" >3</option>
<option value="DO4" opt_numAdults="2" opt_numChilds="0" >4</option>
<option value="DO5" opt_numAdults="2" opt_numChilds="0" >5</option>
</select>
<select name="Input" id="input2">
<option value="FP0" opt_numAdults="2" opt_numChilds="1" >0</option>
<option value="FP1" opt_numAdults="2" opt_numChilds="1" >1</option>
<option value="FP2" opt_numAdults="2" opt_numChilds="1" >2</option>
<option value="FP3" opt_numAdults="2" opt_numChilds="1" >3</option>
<option value="FP4" opt_numAdults="2" opt_numChilds="1" >4</option>
<option value="FP5" opt_numAdults="2" opt_numChilds="1" >5</option>
</select>
<button type="submit" id="mybutton">Go</button>
</form>

この 2 つのフィールドの少なくとも 1 つを選択しない場合、ユーザーを停止する必要があります。このコードを使用していますが、機能しません...

$bt('.myform').submit(function(){

if($('#input1').val() == "" || $bt('#input2').val() == ""){

alert("Complete all fields!");

return false;

}

});

});

何か案は?

4

1 に答える 1

0

コードに多くの問題があります。

  • あなたは jQuery Validate プラグインを使用したいと言っていますが、コードのどこにもプラグインが表示されません。少なくともプラグインをインクルードし、.validate()メソッドを呼び出して初期化する必要があります。

  • jQuery コードでは、 と を使用$btします$。あなたがここで何をしようとしているのか、私にはわかりません。とは$bt? この回答では$、jQuery オブジェクトを参照するために使用します。

  • あなたの jQuery コードはカスタム検証コードのように見えますが、実際には jQuery Validate プラグインが使用するようなものではありません。

  • 開始<formタグに終了ブラケットがありません>

  • jQuery Validate プラグインが正しく機能するには、各入力に一意のname属性が必要です。両方のselect要素の名前はInputです。私の答えでは、名前をInput1andに変更しましたInput2

  • jQuery Validate プラグインが要素を検証するには、それぞれselectの最初のoption要素に属性selectが含まれている必要があります。value=""

  • アイテムのグループから 1 つのアイテムを要求するには、ファイルrequire_from_groupに含まれるルール/メソッドを使用します。このファイルも含めることを忘れないでください。グループ内の各アイテムには. また、エラー メッセージを 1 つにまとめるためのオプションも使用しました。additional-methods.jsselectclassgroups

HTML:

<form class="myform">
    <select name="Input1" id="input1" class="selectgroup">
        <option value="">please select...</option>
        <option value="DO0" opt_numAdults="2" opt_numChilds="0">0</option>
        <option value="DO1" opt_numAdults="2" opt_numChilds="0">1</option>
        ...
    </select>
    <br/>
    <select name="Input2" id="input2" class="selectgroup">
        <option value="">please select...</option>
        <option value="FP0" opt_numAdults="2" opt_numChilds="1">0</option>
        ...
    </select>
    <br/>
    <button type="submit" id="mybutton">Go</button>
</form>

jQuery:

$(document).ready(function () {

    $('.myform').validate({ // initialize the plugin
        rules: {
            Input1: {
                require_from_group: [1, ".selectgroup"]
            },
            Input2: {
                require_from_group: [1, ".selectgroup"]
            }
        },
        groups: {
            group: "Input1 Input2"
        }
    });

});

デモ: http://jsfiddle.net/rj5Gw/

于 2013-05-20T21:34:32.933 に答える