如何将输入表单元素的值传递给数组?
var input = [{
'FirstName': "$('#txtFirstName').val()",
'LastName': "$('#txtLastName').val()",
'City': "$('#txtCity').val()",
'EmailID': "$('#txtEmailID').val()"
}];
input = JSON.stringify(input);
我尝试了上面的代码,但它不起作用?如何构建键值对表单数组以及如何使用每个函数循环它?
答案 0 :(得分:1)
你应该这样执行:
var input = [{ 'FirstName': $('#txtFirstName').val() }];
你的jQuery表达式不应该是一个字符串!
结果JS四你应该看起来像那样:
var input = [{
'FirstName': $('#txtFirstName').val(),
'LastName': $('#txtLastName').val(),
'City': $('#txtCity').val(),
'EmailID': $('#txtEmailID').val() }];
input = JSON.stringify(input);
考虑使用jQuery formSerialize方法收集所有表单数据:
$('#myFormId').formSerialize();
答案 1 :(得分:1)
您可以使用我正在使用的以下辅助函数来实现相同的功能 -
$.fn.serializeObject = function()
{
var o = {};
var a = this.serializeArray();
$.each(a, function() {
if (o[this.name] !== undefined) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};
工作小提琴 - http://jsfiddle.net/sxGtM/3/