0

jQuery validate.js を使用しているフォームに 3 つのフィールドがあります。

<input type="text" id="StartDate" name="StartDate"><br />
<input type="text" id="EndDate" name="EndDate"><br />
<label for="AllDate"><input type="checkbox" name="AllDate" id="AllDate">All Dates</label>

#AllDate がチェックされていない限り、送信時に #StartDate を要求する必要があります。#AllDate がチェックされている場合、#StartDate は不要です

失敗した試行:

rules: {
        StartDate: {
            required: {
                depends: function(element) {
                    return (! $("input[type='checkbox']:checked"))
                }
            }
        }
    }

カスタム検証ルールを作成することもできませんでした。私はより良い方法、うまくいく方法を探しています!

4

2 に答える 2

4

これを試して:

return !$("#AllDate").is(':checked');
于 2013-03-08T20:14:59.963 に答える
0

ここにあなたのためのカスタムがあります

if(($("#AllDate").is(':checked')) == true ){
    //Do what you want when all dates are checked

} elseif (($("#StartDate").val()) != "") {
    //Do what you want with StartDate

} else {
    //You have to enter a date

}

その場で入力して、それがあなたに役立つか、基本的なアイデアを与えるかどうかを確認してください

于 2013-03-08T20:20:36.133 に答える