获取select元素中的所有选项

use*_*480 2 html jquery html-select

我有一个select元素,用户可以在其中添加和删除选项.当用户完成后,他们将点击保存,但我无法弄清楚如何从选择中获取所有选项.我发现JQuery可以获得所有选择,但我只需要所有这些.我试过这个:

var str = "";    
$("#wordList").each(function () {    
    str += $(this).text() + ",";    
});    
alert(str);
Run Code Online (Sandbox Code Playgroud)

但它只是将所有选项连接到以逗号结尾的一个长字符串.

Sam*_*son 7

只需将选项映射到其值的数组:

var options = $("select option").map(function () {
    return $(this).text();
}).get();
Run Code Online (Sandbox Code Playgroud)

此时你有一个数组.如果您希望它是CSV,请使用以下join方法:

options.join(",");
Run Code Online (Sandbox Code Playgroud)

最终结果是数组["One", "Two"]或字符串"one,two".


Chr*_*lly 5

该代码正如它在盒子上所说的那样完成.通常情况下,我希望你会习惯于$("#wordList option")选择.我猜如果选项是"This","That"和"The other"那么你得到了ThisThatThe Other,,这就是代码将要做的(这是#wordList元素中的所有文本,它基本上包括里面的所有选项你正在执行的数组.each()有一个元素:"ThisThatThe Other",你迭代它一次并添加一个逗号).

你想在#wordList(我认为)中连接每个OPTIONS的文本,所以试试

var str = "";    
$("#wordList option").each(function () {    
    str += $(this).text() + ",";    
});    
alert(str);
Run Code Online (Sandbox Code Playgroud)

给你一个所有单词的字符串(如This,That,The Other,)如果你想要一个数组,而是这样做:

var arr = [];    
$("#wordList option").each(function () {    
    arr.push($(this).text());    
});    
alert(arr.join(", "));
Run Code Online (Sandbox Code Playgroud)