2016-09-22 38 views
0

我的下拉列表中有下列值:AX,CA,DC,TS,TP,VI基於在javascript中選擇的下拉值進行驗證

有一個文本框。基於下拉值,選定的驗證必須在那裏,即,如果我選擇TP,它可以允許爲空/空白,但對於其他值,它不能爲空。

我該如何做到這一點?

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我們可以使用上面的代碼。或者只是改變添加刪除你的自定義屬性或做功能驗證。

乾杯!