[英]How to get associative array as output from jQuery.map?
我正在使用JQuery map函数来获取输入值的数组:
var inputs = $("[id^='field']");
var values = inputs.map(function () {
return $(this).val();
}).get();
我想得到一个[id,value]的关联数组:
{
id1: value1,
id2: value2
}
.map()
返回一个数组,所以如果你想要一个id值作为键的对象,你就可以这样做:
function getFieldValues() {
var values = {};
$("[id^='field']").each(function() {
values[this.id] = this.value;
});
return values;
}
var values = inputs.map(function () {
var obj = {};
obj[ this.id ] = $(this).val();
return obj;
}).get();
如果它们不是select
或radio
输入,请使用this.value
而不是$(this).val()
。
或者,如果您只是想要一个对象,请使用.each
。
var obj = {};
inputs.each(function () {
obj[ this.id ] = $(this).val();
});
如果您确实需要一个对象数组,并且您的输入具有其name
属性,则还可以使用serializeArray
。
var values = inputs.serializeArray();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.