2016-09-22 3 views
0

で選択し、ドロップダウン値に基づいて、私は私のドロップダウンに値を次のようしている:AXは、CA、DC、TS、TP、VI検証では、JavaScript

1つのテキストボックスがあります。選択されたドロップダウン値に基づいて、有効化が必要です。つまり、TPを選択するとnull /空白を許可できますが、他の値の場合は空白にしないでください。

どうすればこの問題を解決できますか?

if ($("#txtCreditCardCvvNo" + i).val().length > 0) { 
      if ($("#ddlCreditCardType" + i).val() == 'AX') { 
       if ($("#txtCreditCardCvvNo" + i).val().length < 4) { 
        $("#err_cvvno" + i).html('CVV No. should be 4 digit'); 
        status = 0; 
       } 

       else { 
        $("#err_cvvno" + i).html(''); 
        status = 1; 
       } 
      } 
      else { 
       if ($("#txtCreditCardCvvNo" + i).val().length < 3) { 
        $("#err_cvvno" + i).html('CVV No. should be 3 digit'); 
        status = 0; 
       } 
       else { 
        $("#err_cvvno" + i).html(''); 
        status = 1; 
       } 
      } 
     } 
+0

これは非常に簡単ですが、関連するコードの一部を最初に共有してください – Ted

+0

いくつかの方法を試したことがありますか? – passion

+0

[foolproof](http://foolproof.codeplex.com/) '[RequiredIfNot]'またはそれに類する検証属性を使用するか(または自分で作成する)、クライアントとサーバーの両方の検証を取得します –

答えて

0

このような何か:

var select = document.getElementById('select'); 
select.addEventListener("change", handleSelectChange); 

function handleSelectChange(e){ 
    switch(e.target.value){ 
     case: 'AX': 
      inputValidationAX(); 
      break; 
     case: 'CA': 
      inputValidationCA(); 
      break; 
     case: 'DC': 
      inputValidationDC(); 
      break; 
     case: 'TS': 
      inputValidationTS(); 
      break; 
     case: 'TP': 
      inputValidationTP(); 
      break; 
     case: 'VI': 
      inputValidationVI(); 
      break; 
    } 
} 
0

あなたは変化に、このカスタム検証を使用することができます。これは、妥協のない検証に基づいています。

​​

希望します。

0
$('select').change(function() { 
    $("#textbox").attr("required", "required"); 
    if($(this).val()=="TP") $("#textbox").removeAttr("required"); 
    }); 

HTML5の場合、上記のコードを使用できます。カスタム属性を削除するか、関数内でバリデーションを行うだけです。

乾杯!