gpt4 book ai didi

javascript - 修改 JSON 对象,从表中获取值

转载 作者:太空宇宙 更新时间:2023-11-04 16:27:08 24 4
gpt4 key购买 nike

我使用以下代码使用 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”。

我为此编写了以下代码,但这似乎不起作用。可能是什么问题?

var revArray="";
$("[type='input']").each(function () {
revArray = $(this).val;
});

$.each(obj, function (i, obj) {

for (var i = 0; i < revArray.length; i++) {
obj.userInput= revArray[i];
}
if ($("[type='checkbox']:checked"))
obj.isCancelled = 'Y';
else
obj.isCancelled = 'N';
alert(JSON.stringify(obj));

最佳答案

所以我最终使用 jquery 以以下方式完成了它,访问表的每一行,然后找到该行上的文本框 -

$('table tr:gt(0)').each(function (i, row) {
var $row = $(row);
var val1 = $row.find('input[type="text"]').val();
});

对于那些面临此类问题的人来说,可以使用它,效果非常好!

关于javascript - 修改 JSON 对象,从表中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40121456/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com