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

时间:2017-01-11 23:07:33

标签: 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”,这是我示例中所选复选框的值。

我做错了什么?

1 个答案:

答案 0 :(得分:3)

您需要使用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">