我正在使用部分 ID 和欄位資料創建動態部分,并且我正在使用部分 ID 獲取所有資料。使用帶有部分 id 和資料值的 .map() 函式創建 JSON,面臨一些問題,例如我想要的 JSON 格式不正確。
還請告知這是做動態部分的正確方法嗎?我去對嗎?
這是我的 HTML 代碼:
<section id="section-1" class="section">
<input id="input1" value="input1">
<input id="input2" value="input2">
</section>
<section id="section-2" >
<input id="input3" value="input3">
<input id="input4" value="input4">
</section>
和jQuery代碼
var section = $(".section").map(function()
{
var section_obj = {};
var section_id = $(this).attr("id");
var data = $(this).find(':input').map(function()
{
var obj = {};
obj['id'] = $(this).attr("id");
obj['value'] = $(this).val();
return obj;
}).get();
section_obj[section_id] = data;
return section_obj;
}).get();
結果
[{"section-1":[{"id":"input1","value":"input1"},{"id":"input2","value":"input2"}]},{"section-2":[{"id":"input3","value":"input3"},{"id":"input","value":"input4"}]}]
我希望結果應該是下面只需要洗掉第一部分 } 與第二部分開始 { 就像簡單的只是洗掉 },{
[{"section-1":[{"id":"input1","value":"input1"},{"id":"input2","value":"input2"}],"section-2":[{"id":"input3","value":"input3"},{"id":"input","value":"input4"}]}]
uj5u.com熱心網友回復:
嘗試這個:
var mergedSections = {};
var section = $(".section").map(function() {
var section_id = $(this).attr("id");
var data = $(this).find(':input').map(function() {
var obj = {};
obj['id'] = $(this).attr("id");
obj['value'] = $(this).val();
return obj;
}).get();
mergedSections[section_id] = data;
});
console.log(mergedSections);
但是你可以用 [] 包裝它來達到你的結果:
console.log([mergedSections]);
作業演示:https ://jsfiddle.net/310wLyz9/
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/486584.html
