我正在尝试从下拉列表中的选项中获取文本。假设以下下拉列表有数百个选项。
<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>
标记进行拆分,并在每个选项项周围添加单引号。
答案 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/
遍历每个选项并将其文本推送到数组中。