2016-08-18 70 views
0

我有一系列复选框输入使用以下格式。如何使用jQuery .map函数获取值和数据属性表单输入

<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(); 

但我不知道如何获取值和数据信息并将它们作为数组或对象返回。

回答

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 
+0

好,我竟是对象的数组能够使用'$(this).attr(“data-desc”)'获取数据,但我不想将它们串联起来,而是作为一个对象或数组。对不起,我不清楚。我编辑了我的问题。 – skribe

+0

我已经更新了代码。如果结果格式正确,请检查您的浏览器控制台。 –

+1

太棒了!谢谢! – skribe

相关问题