Javascript 如何将多个选择字段中的值存储到数组中,并在选项更改时更新数组?

Javascript 如何将多个选择字段中的值存储到数组中,并在选项更改时更新数组?,javascript,jquery,html,arrays,Javascript,Jquery,Html,Arrays,我试图创建一个textarea框,其中填充了上面选择字段的值 有3个具有不同选项的不同选择字段,每当选择一个选项时,应将值插入文本区域框中。我已经把这部分整理好了: $("select[name='vehicle_part[]']").change(function () { var optionSelected = $("select[name='vehicle_part[]'] option:selected").html(); $("#textareaObservation

我试图创建一个textarea框,其中填充了上面选择字段的值

有3个具有不同选项的不同选择字段,每当选择一个选项时,应将值插入文本区域框中。我已经把这部分整理好了:

$("select[name='vehicle_part[]']").change(function () {
    var optionSelected = $("select[name='vehicle_part[]'] option:selected").html();
    $("#textareaObservation").html($('#textareaObservation').text() + optionSelected+ " ");
});
$("select[name='damage_type[]']").change(function () {
    var optionSelected = $("select[name='damage_type[]'] option:selected").html();
    $("#textareaObservation").html($('#textareaObservation').text() + optionSelected+ " ");
});
$("select[name='part_status[]']").change(function () {
    var optionSelected = $("select[name='part_status[]'] option:selected").html();
    $("#textareaObservation").html($('#textareaObservation').text() + optionSelected+ " ");
});
但现在,每当选项被更改时,我需要更改文本区域中的单词。例如: 第一个选择是:test1,第二个选择是:test2,第三个选择是:test3 text区域:test1 test2 test3

将test2更改为test4后,textarea应为:test1 test4 test3

select字段位于中继器中,这意味着可能有3个或10个select字段,因此无论有多少个select字段,我都需要它动态工作

我认为最好的方法是将所有单词放在一个数组中,然后在select change上更改数组值。有什么办法可以让我这样做吗

谢谢

多亏了拉胡尔·帕特尔,我才明白:

$("select.superSelect").change(function () {
    var selectedOptions = [];
    $("select.superSelect option:selected").each(function(){
        var value = $(this).text();
        if($.trim(value)){
            selectedOptions.push(value.trim());
        }
    });

    $("#textareaObservation").html(selectedOptions.join(' '));
});

向所有字段添加了相同的类。工作起来很有魅力

为所有下拉列表指定相同的类。任何下拉列表的onchange事件都会提取并追加下拉列表的值,并在textarea中分配值

$("select[name='vehicle_part[]']").change(function () {
    var selectedOptions = [];
    $("select[name='vehicle_part[]'] option:selected").each(function(){
        selectedOptions.push($(this).text());
    });
    $("#textareaObservation").html(selectedOptions.join(' '));
});
$select.superSelect.changefunction{ var-selectedOptions=[]; $select.superSelect.eachfunction{ var值=$this.val; 如果$.trimvalue{ 选择Options.pushvalue; } }; $textareaObservation.htmlselectedOptions.join''; }; 选择 测试1 测试2 测试3 选择 测试1 测试2 测试3 选择 测试1 测试2 测试3
如果选择字段有不同的名称怎么办?在原始帖子中查看我的更新代码。我目前不在计算机上,稍后将根据更新代码并更新您。我自己解决了。将相同的类添加到所有字段,并使用文本而不是val。我有不同的值,它最终可以工作。在我原来的帖子中添加了一个有效的解决方案。如果您有更好的解决方案,请告诉我,否则-非常感谢!太好了。。我也计划给出同样的解决方案..: