2017-04-24 3 views
1

J'ai besoin d'initialiser un tableau d'éléments, qui ont un attribut de données spécifique. Mais seuls les éléments qui ont une valeur doivent être dans array (les éléments peuvent être select, input et etc.)
UPDATE: par exemple: si l'élément est en entrée de texte et n'a pas de valeur, ou, si l'élément est sélectionné mais aucune option n'est sélectionnée par l'utilisateur, elle ne doit pas être ajoutée au tableau. comment dois-je modifier le tableau ci-dessous?Trouver tous les éléments avec un attribut de données spécifique si leur valeur val() n'est pas non-alignée

var myArr = element.find('[data-filter-field]') 
+1

ajouter marque html comme bien – guradio

+0

https://api.jquery.com/category/selectors/attribute -selectors/ – Rayon

+0

Quel est le résultat final auquel vous vous attendez? Et quel est le problème maintenant. Merci de le rendre plus compréhensible. –

Répondre

0

Vous pouvez utiliser $.filter pour filtrer des éléments avec la valeur

$("#btn").on('click', function(){ 
 
    var inputs = $("[data-filter-field]").filter(function(){ 
 
    return !!this.value 
 
    }); 
 
    
 
    $.each(inputs, function(i,el){ 
 
    console.log(el.id) 
 
    }) 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
 
<input id="txt1" data-filter-field="true"> 
 
<input id="txt2" data-filter-field="true"> 
 
<input id="txt3" data-filter-field="true"> 
 
<input id="txt4" data-filter-field="true"> 
 
<input id="txt5" data-filter-field="true"> 
 

 
<button id="btn"> Get element Lists </button>