1
から値を取る -変更JSONオブジェクトは、私は次のコードを使用してJSONオブジェクトを使用して、HTMLテーブルを移入していますテーブル
HTML -
<input type="button" value="Generate Table" id="btn" />
<div id="dvTable">
</div>
JS -
$('#btn').click(function() {
var obj = [{ id: 1, name: "bunny", city: "nyc",userinput:"",iscancelled:"" }, { id: 2, name: "sunny", city: "LA",userinput:"",iscancelled:"" }, { id: 3, name: "chubby", city: "PA",userinput:"",iscancelled:"" }
, { id: 4, name: "punny", city: "DC",userinput:"",iscancelled:"" }, { id: 5, name: "money", city: "Pen",userinput:"",iscancelled:"" }];
alert(JSON.stringify(obj));
var table = document.createElement("table");
table.border = "1";
var columnCount = obj[0].length;
var row = table.insertRow(-1);
for (var i = 0; i < columnCount; i++) {
var headerCell = document.createElement("th");
headerCell.innerHTML = obj[0][i];
row.appendChild(headerCell);
}
$.each(obj, function (i, obj) {
row = '<tr data-id="' + obj.id + '"><td><input type="checkbox" value=' + obj.id + '></td><td>' + obj.id + '</td><td>' + obj.name + '</td><td>'
+ obj.city + '</td><td><input type="text" id="address" ></td></tr>';
table.append(row);
});
var dvTable = document.getElementById("dvTable");
dvTable.innerHTML = "";
dvTable.appendChild(table);
});
簡単にするために、私は小さなJSONオブジェクトを撮影しましたが、通常は非常に重いオブジェクトがあります。ユーザーが各テキストボックスに入力した値をJSONオブジェクトの各要素の 'userinput'フィールドに保存します。また、 'checkbox'がチェックされているかどうかをチェックして保存し、JSONオブジェクトの 'iscancelled'フィールドに 'Y'または 'N'を保存することもできます。
私はこれに次のコードを書いていますが、これはうまくいきません。何が問題なの?
賢明であるためには、[JSONオブジェクトのようなものはありません](http://benalman.com/news/2010/03/theres-no-suchthing-as-a-json/) haveはオブジェクトです。 (またはオブジェクトの配列) – nnnnnn
@nnnnnnありがとう。 – firstStep
あなたの実際のコードに関して、最終コードブロックの最初の '.each()'は各反復で 'revArray'を*文字列*で上書きしますが、あなたの他のコードは配列のように' revArray'を扱います。 '$ .each()'の中に入れ子になっている 'for 'は本当に意味をなさない。おそらく、' obj'配列の各オブジェクトを、すべての行からではなく、対応する行からの入力とチェックボックスの値で更新したいからです。 – nnnnnn