2016-09-22 1 views
0

J'ai les valeurs suivantes dans mon menu déroulant: AX, CA, DC, TS, TP, VIValidation basée sur la valeur sélectionnée dans la liste déroulante javascript

Il y a une zone de texte. En fonction de la valeur de la liste déroulante, la validation sélectionnée doit être présente, c'est-à-dire que si je sélectionne TP, elle peut autoriser une valeur nulle/vide, mais pour les autres valeurs, elle ne doit pas être vide.

Comment puis-je y parvenir?

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

c'est très facile à faire, mais s'il vous plaît partagez une partie de votre code pertinent d'abord – Ted

+0

Avez-vous déjà essayé quelques méthodes? – passion

+0

Utilisez un [infoolproof] (http://foolproof.codeplex.com/) '[RequiredIfNot]' ou un attribut de validation similaire (ou écrivez le vôtre) pour obtenir la validation côté client et côté serveur –

Répondre

0

Quelque chose comme ceci:

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

Vous pouvez utiliser cette validation personnalisée sur le changement. Ceci est basé sur une validation discrète.

$('select').change(function() 
{ 
    var selectedValue= $(this).val(); 
    if(selectedValue=="TP") 
    { 
     $("#textboxId").rules("remove"); 
    } 
    else 
    { 
     $("#textboxId").rules("add", "required"); 
    } 
}); 

Espérons que cela aidera.

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

Pour HTML5, nous pouvons utiliser le code ci-dessus. ou bien changez simplement ajouter supprimer votre attribut personnalisé ou faire une validation dans la fonction.

À la votre!