編輯時:HTML格式轉換成JSON
$.fn.serializeObject = function() {
var o = {};
var a = this.serializeArray();
$.each(a, function() {
var value = this.value || '';
if (/^\d+$/.test(value))
value = +value;
if (o[this.name] !== undefined) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(value);
} else {
o[this.name] = value;
}
});
return o;
};`
編輯以希望更清楚。
困難的包裹着我 - 睡眠剝奪=瘋狂。
我有一個表單,它將數據簡單地串行化成JSON並存儲起來供以後使用。
<form id="form" method="post">
a? <input class="number" type="text" name="a" size="5" maxlength="5"/><br/>
項目1:
Type?:<br/>
<select size="2" name="type">
<option value="1">b</option>
<option value="2">c</option>
</select>
d:<input class="number" type="text" name="d" maxlength="2" size="2"/> <br/>
e:<input class="number" type="text" name="e" maxlength="2" size="2"/> <br/>
<p>Item 2:</p>
Type?:<br/>
<select size="2" name="type">
<option value="1">b</option>
<option value="2">c</option>
</select>
d:<input class="number" type="text" name="d" maxlength="2" size="2"/> <br/>
e:<input class="number" type="text" name="e" maxlength="2" size="2"/> <br/>
<input type="submit" />
當表單序列化的結果,我得到的是:
JSON{
"a":1,
"type":[1,2],
"d":[99,33],
"e":[99,33]
}
什麼,我需要的是JSON一些典型的樹狀結構每個物品都有自己的等級,如下所示:
{
"a": "1",
"item1":
{
"type": "1",
"d": "99",
"e": "99",
},
"item2":
{
"type": "2",
"d": "33",
"e": "33",
}
理想情況下,我希望有一個選項,用戶可以說明表單應該請求信息的數量,但我首先需要一個基本的工作示例。
一旦我有了這些數據,我就會將它轉換成JSON,並且如果可能的話,會喜歡樹狀結構。任何幫助讚賞。這篇文章How to serialize a form into an object (with tree structure)?幫助了很多,但它的HTML結構有問題。再次感謝。
我很難理解你的問題?考慮改寫。你是否試圖動態模板選擇和fb輸入? – Nix
@尼克斯 - 抱歉的混亂。我需要幾個項目的細節。每個項目是相同的對象類型,並具有相同的字段,但會有不同的值。這些幫助有用? – null
不是真的......也許別人可以解釋你需要什麼。也許從你無法弄清楚的事情開始吧? – Nix