需要获得空的下拉ID

时间:2014-06-13 05:57:19

标签: javascript php jquery html

我有一个网络表单和下拉框。我们可以克隆下拉列表并可以创建更多内容。我的问题是需要知道它们中的任何一个都是空的。我的每个下拉列表都以&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();

3 个答案:

答案 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'))   
    }
});

DEMO

答案 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'));
    }
})

我做了一个例子:http://jsfiddle.net/mihutz/M3FfZ/