如果val()不是unifined

时间:2017-04-24 06:40:51

标签: javascript jquery jquery-selectors

我需要初始化一个具有特定数据属性的元素数组。但只有具有值的元素应该在数组中(元素可以是选择,输入等) UPDATE:例如:如果元素是文本输入且没有值,或者,如果元素是选中但用户未选择任何选项,则不应将其添加到数组中。 我该如何修改下面的数组?

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

1 个答案:

答案 0 :(得分:0)

您可以使用$.filter过滤值为

的元素



$("#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>
&#13;
&#13;
&#13;