我想出了看起来像这样的代码:
var jsonObject = {};
$('.input-row').each(function(index, row) {
var innerObject = {};
$(':checkbox', row).each(function(index, checkbox) {
innerObject[checkbox.name] = checkbox.checked ? 'on' : 'off';
});
var key = $('input[type="text"]', row).val();
jsonObject[key] = innerObject;
});
console.log(jsonObject);
// use jsonObject somehow
我们正在创建一个空对象,它将成为我们的整体JSON对象(称为jsonObject
)。
然后我们遍历每个输入行(我已经添加了一个input-row
类,因此可以轻松地选择它们)。
对于每一行,我们创建另一个空对象(称为innerObject
),然后迭代其复选框。对于每个复选框,我们将一个属性添加到innerObject
:关键是复选框的name
属性/属性,值为on
或off
,具体取决于checked
状态。最后,我们得到该行text
输入的值作为jsonObject
中的密钥,并将该属性添加到该行中。
这是上述代码的working example。
如果您要接受我的建议,请使用malsup的[form plugin](http://jquery.malsup.com/form/#getting-started) – 2013-02-19 15:36:34
我快速浏览了一下。但它不会把结果放在我想要的格式中...... – Anthony 2013-02-19 15:42:59