2016-09-22 61 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我们可以使用上面的代码。或者只是改变添加删除你的自定义属性或做功能验证。

干杯!