Javascript 将所选选项添加到逗号的文本区域分隔符
你能帮我记录下这个例子吗 我有以下几点: 我需要在添加textarea并用逗号分隔时选择一个选项,例如:Javascript 将所选选项添加到逗号的文本区域分隔符,javascript,jquery,html,select,textarea,Javascript,Jquery,Html,Select,Textarea,你能帮我记录下这个例子吗 我有以下几点: 我需要在添加textarea并用逗号分隔时选择一个选项,例如: select, textarea { display: block; width: 12em; box-sizing: border-box; margin: 0 0 1.5em 0; } 在这里,我选择一次选项: 稍后,必须将此选项添加到文本区域,其中一些选项如下: 在其他选择中,当我选择其他选项时,执行相同的操作: 等等,我可以帮忙,谢谢 HT
select, textarea {
display: block;
width: 12em;
box-sizing: border-box;
margin: 0 0 1.5em 0;
}
在这里,我选择一次选项:
稍后,必须将此选项添加到文本区域,其中一些选项如下:
在其他选择中,当我选择其他选项时,执行相同的操作:
等等,我可以帮忙,谢谢
HTML是:
<select id="filter" name="filter">
<option id="A" value="A">Option1</option>
<option id="B" value="B">Option2</option>
<option id="C" value="C">Option3</option>
<option id="D" value="D">Option4</option>
</select>
<textarea name="key" id="field"></textarea>
<br>
<br>
<select id="filter2" name="filter2">
<option id="A" value="A">Option1</option>
<option id="B" value="B">Option2</option>
<option id="C" value="C">Option3</option>
<option id="D" value="D">Option4</option>
</select>
<br>
<br>
<select id="filter3" name="filter3">
<option id="A" value="A">Option1</option>
<option id="B" value="B">Option2</option>
<option id="C" value="C">Option3</option>
<option id="D" value="D">Option4</option>
</select>
选择1
选择2
选择3
选择4
选择1
选择2
选择3
选择4
选择1
选择2
选择3
选择4
演示:
顺便说一下,HTML中有重复的id
s,这是无效的
var $texta = $('#field');
var $selects = $('select');
$selects.change(function () {
var opts = $selects.find('option:selected').map(function () {
return $.trim($(this).text());
}).get();
$texta.val(opts.join())
}).change();
演示:
顺便说一下,HTML中有重复的id
s,这是无效的
var $texta = $('#field');
var $selects = $('select');
$selects.change(function () {
var opts = $selects.find('option:selected').map(function () {
return $.trim($(this).text());
}).get();
$texta.val(opts.join())
}).change();
演示:
顺便说一下,HTML中有重复的id
s,这是无效的
var $texta = $('#field');
var $selects = $('select');
$selects.change(function () {
var opts = $selects.find('option:selected').map(function () {
return $.trim($(this).text());
}).get();
$texta.val(opts.join())
}).change();
演示:
顺便说一下,HTML中有重复的id
s,这是无效的
var $texta = $('#field');
var $selects = $('select');
$selects.change(function () {
var opts = $selects.find('option:selected').map(function () {
return $.trim($(this).text());
}).get();
$texta.val(opts.join())
}).change();
演示:
演示:
演示:
演示:我建议使用类名来关联相关的
选择
元素(在本例中,我使用了class=“selectFilters”
),从而生成以下jQuery:
$('.selectFilters').on('change', function(){
$('#field').val(function(){
return $('.selectFilters').map(function(){
return $(this).find('option:selected').text();
}).get().join(', ') + '.';
});
});
但是,如果您只想获取用户已更改的值,可以在这些元素上设置一个属性,最初设置为false
,该属性可以跟踪这些元素是否已被修改(在本例中,适当地调用modified
):
为了允许用户打开选择
,然后确定默认选项是最佳选择,我还使用了模糊
功能(不是为了允许文本区域
在选项
更改后立即更新):
顺便说一句,您必须避免HTML中重复的id
属性(一个id
在整个文档中只能使用一次才能有效),此外,尽管HTML5允许id
以数字字符开头,但在CSS中选择这些元素仍然很困难(对于选项
元素,这不是问题,因为CSS对它们没有/不能做太多;对于其他元素,这更是一个问题)
此外,您正在使用大量HTML来设置内容的样式(主要是
元素);不要:HTML应该显示内容,CSS应该设置样式。例如:
select, textarea {
display: block;
width: 12em;
box-sizing: border-box;
margin: 0 0 1.5em 0;
}
参考资料:
select
元素(在本例中,我使用了class=“selectFilters”
),从而生成以下jQuery:
$('.selectFilters').on('change', function(){
$('#field').val(function(){
return $('.selectFilters').map(function(){
return $(this).find('option:selected').text();
}).get().join(', ') + '.';
});
});
但是,如果您只想获取用户已更改的值,可以在这些元素上设置一个属性,最初设置为false
,该属性可以跟踪这些元素是否已被修改(在本例中,适当地调用modified
):
为了允许用户打开选择
,然后确定默认选项是最佳选择,我还使用了模糊
功能(不是为了允许文本区域
在选项
更改后立即更新):
顺便说一句,您必须避免HTML中重复的id
属性(一个id
在整个文档中只能使用一次才能有效),此外,尽管HTML5允许id
以数字字符开头,但在CSS中选择这些元素仍然很困难(对于选项
元素,这不是问题,因为CSS对它们没有/不能做太多;对于其他元素,这更是一个问题)
此外,您正在使用大量HTML来设置内容的样式(主要是
元素);不要:HTML应该显示内容,CSS应该设置样式。例如:
select, textarea {
display: block;
width: 12em;
box-sizing: border-box;
margin: 0 0 1.5em 0;
}
参考资料:
select
元素(在本例中,我使用了class=“selectFilters”
),从而生成以下jQuery:
$('.selectFilters').on('change', function(){
$('#field').val(function(){
return $('.selectFilters').map(function(){
return $(this).find('option:selected').text();
}).get().join(', ') + '.';
});
});
但是,如果您只想获取用户已更改的值,可以在这些元素上设置一个属性,最初设置为false
,该属性可以跟踪这些元素是否已被修改(在本例中,适当地调用modified
):
为了允许用户打开选择
,然后确定默认选项是最佳选择,我还使用了模糊
功能(不是为了允许文本区域
在选项
更改后立即更新):
顺便说一句,您必须避免HTML中重复的id
属性(一个id
在整个文档中只能使用一次才能有效),此外,尽管HTML5允许id
以数字字符开头,但在CSS中选择这些元素仍然很困难(对于选项
元素,这不是问题,因为CSS对它们没有/不能做太多;对于其他元素,这更是一个问题)
此外,您正在使用大量HTML来设置内容的样式(主要是
元素);不要:HTML应该显示内容,CSS应该设置样式。例如:
select, textarea {
display: block;
width: 12em;
box-sizing: border-box;
margin: 0 0 1.5em 0;
}
参考资料:
选择元素(在本例中,我使用了