[英]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()将该数组减少为字符串:-)
你可以遵循简单的逻辑:
<option>
元素 <option>
元素中获取文本并将其推送到数组。 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.