2009-12-12 27 views
0

我有一些jQuery的代码复制所选值从一个列表框到另一个:jquery - 将值从一个列表框添加到另一个列表框,但不包括空行?

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

我试图以确保没有空行被添加到列表框的目标,所以我想这:

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

上面的代码不起作用 - 我认为是因为使用每个.each的方式。

任何想法?

德里克

回答

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()); 
+0

谢谢你 - 这似乎很容易! Derek – Derek 2009-12-12 03:23:36

相关问题