从表单中的所有选择元素中获取所有选择的选项元素

Posted

技术标签:

【中文标题】从表单中的所有选择元素中获取所有选择的选项元素【英文标题】:Get all selected options elements from all select elements in a form 【发布时间】:2012-09-09 14:07:32 【问题描述】:

大家好,感谢您抽出宝贵时间回答我的问题。

我有一个包含 6 个选择元素的表单,其类别为“skillLevel”。我需要使用 jQuery 获取(最好在数组中)每个选择元素的值。

我该怎么做?

【问题讨论】:

【参考方案1】:

你可以使用map方法:

var arr = $('select.skillLevel').map(function()
              return this.value
          ).get()

arr 是一个值数组。

【讨论】:

【参考方案2】:

这样的事情会为你做到这一点。

var val = new Array();

$("select.skillLevel").each(function()
    val.push(this.value);
);

【讨论】:

【参考方案3】:

我认为你必须使用$(".skillLevel") 来选择你想要的值的所有元素,然后遍历它们,并使用.val() 来提取每个元素的值,并根据需要进行处理。

希望这会有所帮助!

【讨论】:

【参考方案4】:
    var array = [];
    $('.skillLevel  option:selected').each(function() 
        array[ $(this).val()] = $(this).text();
    );

【讨论】:

有没有办法让文本按 select(multiple) 所示排序。例如我选择了 a,b,c 我得到了显示的 c,a,b..【参考方案5】:

把它当作

$(".skillLevel option:selected").each(function () 
            alert($(this).text());
);

看看这个小提琴

http://jsfiddle.net/zF6HY/1/

来自:JqueryApi

【讨论】:

【参考方案6】:

希望这个小提琴对你有帮助: All selected options

【讨论】:

【参考方案7】:

您还可以将map 方法与这样的ES6 箭头函数一起使用。

var arr = $('select.skillLevel').get().map(e => e.value)

在接受的答案中,arr 是一个值数组。

【讨论】:

以上是关于从表单中的所有选择元素中获取所有选择的选项元素的主要内容,如果未能解决你的问题,请参考以下文章

如何从数据库中创建选择选项?

使用循环中动态创建的 jquery 从表单中获取选择选项值

在 HTMX 中,如何为选择表单元素中的每个选项请求特定的 URL?

在 jQuery mobile 中未选择选项卡时禁用表单输入

JQuery 脚本从输入框、复选框和选择元素的选项值合计值

如何在多选表单 laravel 中选择所有选项?