2017-10-05 17 views
0

G'day,Comment vérifier l'option de formulaire, puis sélectionnez supprimer le désactiver sur le bouton

Je ne peux pas trouver une réponse à votre question au sein de débordement de la pile qui répond à exactement ce que je suis en train de réaliser.

L'objectif est d'utiliser jQuery pour vérifier que les deux entrées ont une valeur et que la liste déroulante form select n'est pas Staff Select, ce qui correspond actuellement à disabled. Une fois que les deux entrées ont des données et un nom de personnel est choisi, alors mon bouton devient actif, disabled est supprimé.

Vous pouvez voir mon jsFiddle pour le html.

Le jQuery J'utilise qui a accompli 2/3 (deux entrées) de ce que je veux CONSENTI:

var $input = $('#transactionform input'), 
    $register = $('#add_transaction');  
$register.attr('disabled', true); 

$input.keyup(function() { 
    var trigger = false; 
    $input.each(function() { 
     if (!$(this).val()) { 
      trigger = true; 
     } 
    }); 
    trigger ? $register.attr('disabled', true) : $register.removeAttr('disabled').addClass('addbtngreen'); 
}); 

Ma tentative d'ajouter la validation pour la form select est de cibler l'attribut option:disabled comme suit:

if (!$(this).val() || $('selected#ccstaff option').attr(':disabled')) { 
    trigger = true; 
} 

Toute indication est grandement appréciée! Merci d'avance.

+1

Si vous désactivez la première option, vous ne pouvez pas le sélectionner à nouveau. Au lieu de cela, je suggère d'attribuer une valeur unique à la première option et de vérifier si la valeur sélectionnée n'est pas cette valeur. Par exemple: '$ ('select # ccstaff'). Val()! = 'Some_uniq_val'' – Abhi

+1

Merci pour l'idée. :-) – aussiedan

Répondre

1

Ajouter une fonction de validation générique et le feu, il fiddle

function validate(){ 
      var trigger = false; 
      $input.each(function() { 
       if (!$(this).val()) { 
        trigger = true; 
       } 
      }); 
     console.log($select.val()); 
     trigger= $select.val()=== null; 
      trigger ? $register.attr('disabled', true) :        $register.removeAttr('disabled').addClass('addbtngreen'); 
    } 
+0

Merci @RenzoCC ça m'a mis sur la bonne voie. :-) – aussiedan