【发布时间】:2017-01-08 04:24:10
【问题描述】:
我正在尝试创建一个 textarea 框,其中填充了来自其上方的选择字段的值。
有3个不同的选择字段,选择不同的选项,只要选择一个选项,应将值插入TextAlea框中。这部分我已经整理好了:
$("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 文本区域:test1 test2 test3
将test2改为test4后,textarea应该是:test1 test4 test3
选择字段位于重复器中,这意味着可能有 3 或 10 个选择字段,因此无论有多少选择字段,我都需要它动态工作。
我认为最好的方法是将所有单词放入一个数组中,然后在选择更改时更改数组值。关于我该怎么做的任何想法?
谢谢。
感谢 Rahul Patel,我想通了:
$("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(' '));
});
为所有字段添加了相同的类。像魅力一样工作!
【问题讨论】:
标签: javascript jquery html arrays