繁体   English   中英

如何获取选择输入字段中所有选项的文本

[英]How to get the text of all options in a select input field

如何使用jQuery获取所有选项逗号分隔的所有文本内容? 选择字段本身的值仅是当前所选选项的值。

 const foo = $('#selector').val() document.write(foo) 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <select name="selector" id="selector"> <option value="1">Option 1</option> <option value="2">Option 2</option> <option value="3">Option 3</option> </select> 

结果我想要这样的东西

Option 1, Option 2,Option 3

options执行each函数,将它们推入array ,然后执行join函数。

 var collected = []; var foo = $('#selector option').each(function() { collected.push($(this).text()); }); console.log(collected.join(',')); 
 .as-console-wrapper { max-height: 100% !important } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <select name="selector" id="selector"> <option value="1">Option 1</option> <option value="2">Option 2</option> <option value="3">Option 3</option> </select> 

 let arr = [] $('select > option').each((i, {innerHTML}) => arr.push(innerHTML)) console.log(arr) 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <select name="selector" id="selector"> <option value="1">Option 1</option> <option value="2">Option 2</option> <option value="3">Option 3</option> </select> 

在这里,我查询了选择的选项,它给了我一系列元素。 我循环使用这些元素并将各自的innerHTML推向了arr

使用Array.prototype.join()将该数组减少为字符串:-)

你可以遵循简单的逻辑:

  1. 遍历<option>元素
  2. 从每个<option>元素中获取文本并将其推送到数组。
  3. 使用toString()对数组进行字符串化,并以逗号分隔值获取值。

 var optionsArray = []; //loop over each option element var optionElements = $('#selector option').each(function() { //push the text of option in the array optionsArray.push($(this).text()); }); //stringify the array to get the comma seperated result console.log(optionsArray.toString()); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <select name="selector" id="selector"> <option value="1">Option 1</option> <option value="2">Option 2</option> <option value="3">Option 3</option> </select> 

$("#selector option:selected").text();

将为您提供所选文本而不是值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM