Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从dropdwon创建所选选项的列表_Javascript_Jquery_Loops_Html Select - Fatal编程技术网

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");
            }
            
        });