我正在创建一个数组,其中包含多选引导选择的选定值的文本。 但我没有得到所需的输出,例如: [“海军蓝”、“深蓝色”、“浅绿色”] 我得到的是: [“海军深蓝色浅绿色”]。 这是什么原因..
这是我的代码..
$('[name="ci_claimed_for"]').each(function() {
names.push($('[name="ci_claimed_for"]').find("option:selected").text());
});
最佳答案
您甚至不需要创建一个新数组,然后将其插入其中:只需使用 jQuery 的 .map()
功能:
var names = $('[name="ci_claimed_for"]').map(function() {
return $(this).find("option:selected").text());
}).get();
记得链接.get()
最后,因为它将返回一个 jQuery 集合。使用 .get()
引用返回的实际数组。
这是一个概念验证示例:
$(function() {
var names = $('[name="ci_claimed_for"]').map(function() {
return $(this).find("option:selected").text();
}).get();
console.log(names);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="ci_claimed_for">
<option value="John" selected>John</option>
<option value="Doe">Doe</option>
</select>
<select name="ci_claimed_for">
<option value="Jane" selected>Jane</option>
<option value="Doe">Doe</option>
</select>
关于javascript - jquery 无法获取字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44068276/