如果此 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>
我需要初始化一个具有特定数据属性的元素数组。但只有有值的元素才应该在数组中(元素可以是 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>