1

ページの読み込み時に条件付きルールを動的に追加したかった ここに私のコードがあります 私が試したものです 私はjsfiddleを作成しました 最初のコードサンプル

 $("input[name$='DistanceToRespondingFireDept']").rules("add", {
        required: {
            depends: function (element) {
                return $("input:radio[name='DistanceToNearestFireHydrnt']:checked").val() == 'U';
            }
        },
        messages: {
            required: "Tested"
        }
    });

2 番目のコード

$("input[name$='DistanceToRespondingFireDept']").rules("add", {
        required: function (element) {
            return $("input:radio[name='DistanceToNearestFireHydrnt']:checked").val() == 'U';
        },
        messages: {
            required: "Tested"
        }
    });

「未定義のメソッド呼び出しを呼び出すことはできません」というエラーが表示されます

条件を追加しない場合は、単に required: true を実行するだけで機能します

修正方法の提案

4

1 に答える 1

1

構文エラーがあります。

左中かっこ{がここにありませんでした...

if (test === "a") { // <-- this opening brace was missing

あなたのデモ: http://jsfiddle.net/TYbS5/4/

また、jQuery Validate プラグインを現在最新のバージョン 1.11.1 に更新する必要があります。

そして最後に、両方のボタンがtype="submit"であることを意味します。これは、プラグインが両方ともフォームを送信するためのものであると見なすことを意味します。type="button"プラグインがクリック イベントをキャプチャしないようにするには、「CLEAR」ボタンを に変更する必要があります。


編集

コメントによると、条件付き検証のコードは次のとおりです...

required: function() {
    return $('#DistanceToNearestFireHydrnt1').is(':checked');
},

動作デモ: http://jsfiddle.net/TYbS5/5/

于 2013-09-18T15:31:38.023 に答える