javascript - 复选框上的 val() 返回一个元素而不是字符串文字

标签 javascript jquery

我想获取所有选中复选框的值。我只想要字符串文字值。

我尝试以下操作:

$('input:checked').map(function() { return $(this).val(); })

返回的数据为:

e.fn.init[1]0: "Documents" context: document length: 1 prevObject: e.fn.init[1] __proto__: Object[0]

我不想这样。我只想要字符串“Documents”,它是我的示例中所选复选框的值。

我做错了什么?

最佳答案

需要使用get()将jQuery对象转为数组

 $('input:checked').map(function() { return $(this).val(); }).get();

请参阅下面的完整示例。

var res = $('input:checked').map(function() {
    return $(this).val();
}).get();

console.log(res);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input checked type="checkbox" id="cbox1" value="first">
<input checked type="checkbox" id="cbox2" value="second">

关于javascript - 复选框上的 val() 返回一个元素而不是字符串文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41602397/

相关文章:

javascript - 使用 style-loader 访问 webpack 插件中生成的 css

javascript - 媒体查询的 IE 问题

java - 使用 jQuery 通过 POST 向 java 方法发送和接收数据

javascript - 在正文而不是 header 中链接 javascript 文件会导致问题吗?

javascript - 在Highchart图例中,标签颜色与形状颜色相同

javascript - Foundation 6 - 单击时下拉元素不激活链接

javascript - 如何重复查询?

Javascript 呈现(访问者)和 html 呈现(机器人)。合法吗?搜索引擎优化

javascript - JQuery onclick 代码不起作用

javascript - 切换并滚动到 anchor