我有一个网络表单和下拉框。我们可以克隆下拉列表并可以创建更多内容。我的问题是需要知道它们中的任何一个都是空的。我的每个下拉列表都以&abc'开头。 例如
<select id='abcd_1'></select>
<select id='abcd_3'></select>
<select id='abcd_10'></select>
<select id='abcd_5'></select>
我尝试了以下代码,但没有运气
$( "input[id^='abcd']" ).val();
答案 0 :(得分:8)
尝试使用:empty选择器过滤掉所需的元素
var emptySelects = $( "select[id^='abcd']" ).filter(function(){
return $(this).is(':empty');
});
或简单地说,
var emptySelects = $("select[id^='abcd']:empty");
如果你想遍历它,只需使用.each()
emptySelects.each(function(){
console.log(this.id);
});
答案 1 :(得分:2)
试试这个
$('select').each(function(){
if($(this).find('option').length == 0){
alert($(this).attr('id'))
}
});
答案 2 :(得分:1)
如果你想检查下拉列表是否为空,那么你可以使用它:
if( $( "select[id^='abcd']").has('option').length > 0 ) {
因为您有多个下拉列表,所以必须使用$ .each:
重复上面的代码$.each($( "select[id^='abcd']"), function(i, dropdown){
if ($(dropdown).has('option').length == 0){
alert($(dropdown).attr('id'));
}
})