代码之家  ›  专栏  ›  技术社区  ›  Derek

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

  •  0
  • Derek  · 技术社区  · 15 年前

    我有一些jquery代码,可以将所选值从一个列表框复制到另一个列表框:

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

    我正在尝试确保没有空行添加到目标列表框,因此我尝试了以下操作:

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

    上面的代码不起作用-我想是因为它的方式。每一个都被使用了。

    有什么想法吗?

    德里克

    1 回复  |  直到 15 年前
        1
  •  2
  •   Doug Neiner    15 年前

    首先,你需要使用 text() 而不是 text 如果你想用这种方式测试的话。它是一个函数,而不是一个属性。

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

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

    您可以使用以下方法进一步简化它:

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