Javascript 如何将多个选择字段中的值存储到数组中,并在选项更改时更新数组?
我试图创建一个textarea框,其中填充了上面选择字段的值 有3个具有不同选项的不同选择字段,每当选择一个选项时,应将值插入文本区域框中。我已经把这部分整理好了: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
$("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。我有不同的值,它最终可以工作。在我原来的帖子中添加了一个有效的解决方案。如果您有更好的解决方案,请告诉我,否则-非常感谢!太好了。。我也计划给出同样的解决方案..: