Jquery按选项标签分割

时间:2011-11-12 19:20:39

标签: php jquery html arrays

我正在尝试从下拉列表中的选项中获取文本。假设以下下拉列表有数百个选项。

<select name="colors" id="colors">
    <option value="744">Green</option>
    <option value="933">Red</option>
    <option value="1838">Yellow</option>
    <option value="1839">Blue</option>
</select>

我想以数组格式输出所有选项中的文本,我将能够在php中复制和粘贴。例如:

'Green', 'Red', 'Yellow', 'Blue'

这就是我所拥有的

var optionText = $("option").text().split().join(", ");
$('.gettext').append(optionText);

我不确定如何按</option>标记进行拆分,并在每个选项项周围添加单引号。

http://jsfiddle.net/tp74c/

2 个答案:

答案 0 :(得分:2)

我建议使用map在加入之前以不同的方式将选项转换为数组:

var optionText = $('option').map(function() {
    return $(this).text();
}).get().join(', ');

您也可以这样添加引号,如下所示:

var optionText = $('option').map(function() {
    return "'" + $(this).text() + "'";
}).get().join(', ');

编辑:正如亚历克斯指出的那样,这不起作用,这很奇怪,因为我在某处测试了它。现在修好了。

答案 1 :(得分:1)

现场演示:http://jsfiddle.net/gion_13/tp74c/1/

遍历每个选项并将其文本推送到数组中。