2016-04-11 7 views
0

jQueryバリデーションプラグインを使用して、radio.is( ":checked")次の選択肢があります...次のコードは... jsFiddleで、動作しますが、それは私が仕事イントラネット内から動作しません知っている?:jQueryバリデーションプラグイン(必須).is( ":checked")

$(document).ready(function() { 
 
    $("#myForm").validate({ 
 
     rules: { 
 
      t1: { 
 
       required: true, 
 
       minlength: 5 
 
      }, 
 
      t2: { 
 
       required: function (element) { 
 
       \t \t if($('#rad2').is(":checked")) 
 
        { 
 
        \t \t return true; 
 
        } 
 
        else 
 
        { 
 
        \t \t return false; 
 
        } 
 
       }, 
 
       minlength:5 
 
      } 
 
     }, 
 
     messages: { 
 
      t1: { 
 
       required: "Enter t1", 
 
       minlength: "min is 5" 
 
      }, 
 
      t2: { 
 
     \t required: "Required t2", 
 
       minlength: "min is 5" 
 
      } 
 
     } 
 
    }) 
 
})
<form id="myForm"> 
 
<label><input type="radio" id="rad1" name="radio">Rad 1</label> 
 
<label><input type="radio" id="rad2" name="radio">Rad 2</label> 
 
<input type="text" name="t1" maxlength="10"> 
 
<input type="text" name="t2" maxlength="10"> 
 
<input type="submit" value="submit"> 
 
</form>
私ができます」必要な句の中から機能するようになっているようです。私はエラーも何も受け取りません。ちょうどうまくいきません。私も試しました:

required: $('#rad1').is(":checked")

私はそれが単純な真/偽..もうまくいきませんでした私を与えるだろうと考えているよう。私は運が悪いかもしれませんが、バリデーションプラグインの残りの部分は別の方法があるかもしれないと思っています。

+1

カスタムルールをそこに書き込まないようにしてください。 .addMethod()を使用します。より読みやすく、テストが簡単です –

答えて

1

あなたはjQueryのverson> 1.6を実行している場合は、行くための正しい方法は次のとおりです。

if ($("#rad2").prop("checked", true)) 
    return true; 
return false; 

jQueryのバージョンが1.6以下の場合:

if ($("#rad2").attr("checked", "checked")) 
0

が応答ありがとうございました私の質問...私は解決策を見つけましたが、私はそれを正確に理解していませんが、私の会社のインフラストラクチャーがどのようにセットアップされているかというだけかもしれません...

var ths = this;

と私のラジオボタンを選択することを使用。なんらかの理由で、通常の方法で選択しようとすると機能しませんでした。この愚かな質問を申し訳ありませんが、私は非常に助けに感謝します。

ありがとうございました

関連する問題