我有以下 DOM 结构..
<input id="WorkAssignmentID_3462" type="hidden" value="3462" name="WorkAssignmentID"/>
<input id="WorkItemID_3462" type="hidden" value="3633" name="WorkItemID"/>
<input id="EmployeeID_3462" type="hidden" value="15" name="EmployeeID"/>
<input id="AssignedBy_3462" type="hidden" value="Jonathan Erickson" name="AssignedBy"/>
<input id="AssignedDate_3462" type="hidden" value="8/1/2009 12:00:00 AM" name="AssignedDate"/>
<input id="ExpirationDate_3462" type="hidden" value="" name="ExpirationDate"/>
<input id="RegisteredDate_3462" type="hidden" value="8/1/2009 12:00:00 AM" name="RegisteredDate"/>
假设获取所有这些 DOM 元素的 jQuery 选择器如下:
$('#assignment');
我想做的是从该集合创建一个 JSON 对象:
var WA = {
WorkAssignmentID: '3462',
WorkItemID: '3633',
EmployeeID: '15',
AssignedBy: 'Jonathan Erickson',
AssignedDate: '8/1/2009 12:00:00 AM',
ExpirationDate: '',
RegisteredDate: '8/1/2009 12:00:00 AM',
};
最简单的方法是什么?
我想做这样的事情,但它行不通,因为我不认为你可以动态创建 JSON 对象的属性...是否可以动态创建属性名称?
var WA = {};
$('#assignment').each(function(idx, elem) {
$.extend(WA, {
$(elem).attr('name'): $(elem).val()
});
});
最佳答案
这个怎么样,使用bracket notation :
var result = {};
$('input[type=hidden]').each(function() {
result[this.name] = this.value;
});
关于javascript - 你如何JSON序列化一组隐藏的输入值(可以使用jQuery)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1223691/