jquery - 将值从一个列表框添加到另一个列表框,但不包括空行?

时间:2009-12-12 03:11:34

标签: javascript jquery html

我有一些jQuery代码可以将选定的值从一个列表框复制到另一个列表框:

$(adPerson + " option:selected").each(function(){  
    $(toNames).append($(this).clone());  
});     

我正在尝试确保没有空行添加到目标列表框中,所以我尝试了这个:

$(adPerson + " option:selected").each(function(){  
       if($(this).text != "")
       {
    $(toNames).append($(this).clone()); 
       } 
}); 

上面的代码不起作用 - 我认为是因为使用了.each。

有什么想法吗?

德里克

1 个答案:

答案 0 :(得分:2)

首先,如果您想以此方式进行测试,则需要使用text()代替text。它是一种功能,而不是财产。

但是,您只需使用:not(:empty) jQuery选择器:

$(adPerson + " option:selected:not(:empty)").each(function(){  
    $(toNames).append($(this).clone());  
});

您可以使用以下内容进一步简化:

$(toNames).append( $(adPerson + " option:selected:not(:empty)").clone() );