Jquery 按选项标签分割

发布于 2024-12-14 21:09:12 字数 713 浏览 0 评论 0原文

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

<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);

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

http://jsfiddle.net/tp74c/

I'm trying to grab the text from options in a dropdown list. Assume that the following dropdown has hundreds of options.

<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>

I want to output the text from all options in an array format that I'll be able to copy and paste in php. Example:

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

This is what I have

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

I'm not sure how to split by </option> tags and add single quotes around each option item.

http://jsfiddle.net/tp74c/

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

或十年 2024-12-21 21:09:12

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

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

您也可以通过这种方式添加引号,如下所示:

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

编辑:正如 alex 指出的那样,这不起作用,这很奇怪,因为我在某个地方测试过它。现在修好了。

I would suggest turning the options into an array a different way before joining them, using map:

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

You can also add the quotes this way, like so:

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

Edit: As alex points out, this doesn't work, which is odd, because I tested it somewhere. Fixed now.

旧瑾黎汐 2024-12-21 21:09:12

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

迭代每个选项并将其文本推入数组。

Live demo: http://jsfiddle.net/gion_13/tp74c/1/

Iterate through each option and push its text into an array.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文