javascript - jquery 无法获取字符串数组

标签 javascript jquery

我正在创建一个数组,其中包含多选引导选择的选定值的文本。 但我没有得到所需的输出,例如: [“海军蓝”、“深蓝色”、“浅绿色”] 我得到的是: [“海军深蓝色浅绿色”]。 这是什么原因..

这是我的代码..

$('[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/

相关文章:

javascript - 如何将 ui-grid 导出到 excel 文件?

javascript - 由于自定义插件,show() 未定义

javascript - 如何用jquery循环打印htmlString

javascript - 检查集合是否有二维数组

javascript - 从代码隐藏中禁用 RadioButtonList 并使用 javascript 启用它

javascript - Youtube 视频不会暂停,不知道为什么

javascript - 选择输入中的 onChange 事件然后在同一页面上显示过程的结果

jquery - Accordion 脚本在 ajax 更新面板中不起作用

jquery支持函数pageload()和$().ready()吗?

jquery - 在文本输入字段中将值设置为货币