如何使用jQuery .map函数获取值和数据属性表单输入

时间:2016-08-18 13:39:18

标签: jquery

我有一系列复选框输入,格式如下。

<input type="checkbox" name="xyz" value="124" data-info="some info">

我正在使用jquery选择已检查的输入并尝试使用.map()函数获取值和数据信息,并在ajax请求中使用它。我可以得到这样的价值。

checked_options = $(button).parent().find('input:checkbox:checked').map(function () {
      return this.value;
    }).get();

但是我无法弄清楚如何获取值和数据信息并将它们作为数组或对象返回。

1 个答案:

答案 0 :(得分:2)

您可以使用.data()方法,例如:

checked_options = $(button).parent().find('input:checkbox:checked').map(function () {
  return this.value + ',' + $(this).data('info');
}).get();

修改

您可以创建包含值和数据信息的对象数组,如

checked_options = $(button).parent().find('input:checkbox:checked').map(function() {
  return {
    v: this.value,
    d: $(this).data('info')
  };
}).get();

console.log(checked_options); // Array of objects as result here