使用JQuery map函数获取输入数组'值:
var inputs = $("[id^='field']");
var values = inputs.map(function () {
return $(this).val();
}).get();
我想获得[id,value]的关联数组:
{
id1: value1,
id2: value2
}
答案 0 :(得分:6)
.map()
返回一个数组,所以如果你想要一个id值作为键的对象,你就可以这样做:
function getFieldValues() {
var values = {};
$("[id^='field']").each(function() {
values[this.id] = this.value;
});
return values;
}
答案 1 :(得分:1)
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();