2017-09-14 2 views
1

Impossible de trouver comment vérifier si au moins une entrée est remplie ce qui signifie qu'elle n'est pas vide et que la valeur est supérieure à zéro.JQuery vérifie si au moins une entrée est remplie (pas vide et non nulle)

Je peux le vérifier pour valeur vide ouzéro mais je veux vérifier les deux valeurs.

essayé de mettre & & après value!="" qui ne fonctionne pas.

$('#id_calculator_form').find(':input[value!=""]').not('#id_postcode'){ 

} 

Répondre

2

Vous pouvez filtrer en fonction de plusieurs valeurs

var els = $('#id_calculator_form :input').filter('[value!=""], [value!="0"]'); 

if (els.length > 0) {... 

Notez que la sélection par value attribut, ne fonctionne que sur des éléments avec un attribut de valeur de consigne, si vous souhaitez filtrer en fonction de la valeur entrée, vous devriez vérifier la propriété à la place

var els = $('#id_calculator_form :input').filter(function() { 
    return this.value !== "" && this.value !== "0"; 
}); 

if (els.length > 0) {... // at least one input is not zero or empty 
+0

J'ai peur que cela ne fonctionne pas pour une raison quelconque. console.log ($ ('# id_calculator_form: input'). filter ('[value! = ""], [value! = "0"]')) renvoie toutes les entrées, même celles qui sont augmentées à 2. –

+0

la deuxième approche si vous vérifiez ceci dans un gestionnaire d'événement? – adeneo

+0

Merci, oui c'est sur le changement de tout gestionnaire d'entrée. La deuxième approche fonctionne. –