如果此 val() 未定义,则查找具有特定数据属性的所有元素

Find all elements with specific data attribute if their val() is not undifined

我需要初始化一个具有特定数据属性的元素数组。但只有有值的元素才应该在数组中(元素可以是 select、input 等)
更新: 例如:如果元素是文本输入且没有值,或者,如果元素是 select 但用户没有 selected 选项,它不应该被添加到数组中。 我应该如何修改下面的数组?

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

您可以使用$.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>