Javascript 如何从dropdwon创建所选选项的列表
我试图循环浏览一个多选下拉列表,并将所有选中的选项添加到一个逗号分隔的列表中 我的下拉代码是:Javascript 如何从dropdwon创建所选选项的列表,javascript,jquery,loops,html-select,Javascript,Jquery,Loops,Html Select,我试图循环浏览一个多选下拉列表,并将所有选中的选项添加到一个逗号分隔的列表中 我的下拉代码是: <select name="testnameID" id="testnameID" multiple> <option value="1">Test number 1</option> <option value="2">Test number 2</optio
<select name="testnameID" id="testnameID" multiple>
<option value="1">Test number 1</option>
<option value="2">Test number 2</option>
<option value="3">Test number 3</option>
<option value="4">Test number 4</option>
<option value="5">Test number 5</option>
<select>
我需要生成一个变量testnameText,如果选择了前三项,它将返回一个测试编号1、测试编号2、测试编号3的值
我把自己弄糊涂了 您可以尝试使用以所有选定选项为目标,如下所示:
Array.fromdocument.querySelectorAlltestnameID选项:选中。forEachfunctionoption\u元素{
让option_text=option_element.text;
var testnameText=选项_text+;
console.logTestnameText:+testnameText;
console.log\n\r;
};
测试1
测试2
测试3
测试编号4
5号测试
在这种情况下,jquery可以提供帮助。因此,获取选定选项非常简单:
$'testnameID:selected'。每个函数索引,el{
console.logTestnameText:+$el.text;
};
测试1
测试2
测试3
测试编号4
5号测试
包含选定元素的所有选定选项。您可以这样使用它:
const select=document.querySelector'select';
select.addEventListener'change',e=>{
//选项文本作为数组
const text=Array.frome.target.selectedOptions.map{text}=>text;
//选项文本为逗号分隔字符串
const textsStr=text.join',';
控制台。日志文本;
console.logtextstr;
};
测试1
测试2
测试3
测试编号4
5号测试
由于您使用的是多选,因此.val应该返回所有选定的值,不是吗?不管怎么说,寄一张表格就可以了。如果它返回一个数组,您只需执行array.join','。但老实说,在我看来,多重选择是可怕的用户不友好,所以我建议使用复选框无论如何。。。除此之外,我觉得你的密码还不错@mamun的答案是一个很好的改进。我正在使用val来获取值。这是工作,但我需要创建一个文本选项列表。非常感谢-我用这个让它工作!太棒了。@petworthnick,我的荣幸。谢谢-我会试试看能不能让它工作。
var testnameID = $('#testnameID').val();
var testnameText;
Array.from(document.querySelector("#testnameID").options).forEach(function(option_element) {
let option_text = option_element.text;
let is_option_selected = option_element.selected;
if (is_option_selected===true){
testnameText = testnameText + option_text +", ";
console.log("TestnameText: "+testnameText);
console.log("\n\r");
}
});