Javascript 修改对象后如何更新html中的数据?
我有此功能,可通过ID修改现有对象:Javascript 修改对象后如何更新html中的数据?,javascript,jquery,html,Javascript,Jquery,Html,我有此功能,可通过ID修改现有对象: var updateUser = function () { var id = $("#userId").val(); var user = findObjectById(id); user.username = $('#username').val(); user.level = $('#level').val(); user.regstatus = $('#regstatus').val(); us
var updateUser = function () {
var id = $("#userId").val();
var user = findObjectById(id);
user.username = $('#username').val();
user.level = $('#level').val();
user.regstatus = $('#regstatus').val();
user.regdate = $('#regdate').val();
$(".table").show();
$("#newUser").show();
$("#userForm").hide();
$("#updateUser").hide();
};
如何用修改后的数据替换HTML中的当前数据
这是我创建行的函数:
var buildRow = function (data) {
var html = '<tr id = ' + data.id + '>' +
'<td>' + data.username + '</td>' +
'<td>' + data.level + '</td>' +
'<td>' + data.regstatus + '</td>' +
'<td>' + data.regdate + '</td>' +
'<td>' +
'<button class="btn btn-info"value="Edit" onclick="userList.editUser(' + data.id + ')">Edit</button>' + ' ' +
'<button class="btn btn-danger" value="Delete" onclick="userList.deleteRow(' + data.id + ')">Delete</button>' + '</td>' +
'</tr>';
$("#users").append(html);
};
var buildRow=函数(数据){
var html=''+
''+data.username+''+
''+data.level+''+
''+data.regstatus+''数据+
''+data.regdate+''数据+
'' +
'编辑'+''+
'删除'+''+
'';
$(“#用户”).append(html);
};
p.S我想在相同的位置更新,我的id应该相同。据我所知,您想在运行“updateUser”时更新表。在您的案例中,基本上有三种方法来更新数据
var row = buildRow(user);
var $existingRow = $(id);
if ($existingRow.length) {
$existingRow.replaceWith(row);
} else {
$('#users').append(row);
}
现在,这当然需要对“buildRow”函数进行更改,而不是使其追加行,而是返回行
希望这能让您更进一步……我对您的原型JSFIDLE做了一些修改,因此它包含了一个工作示例 我需要修改一些部分以使其工作,例如更新我添加了一个函数的对象
updateObjectById = function (id, obj){
for (var i = 0, l = userData.length; i < l; i++) {
if (userData[i].id == id) {
userData[i] = obj;
}
}
};
updateObjectById=函数(id,obj){
for(var i=0,l=userData.length;i
我想你应该能够解决这个问题,通过给定的一把小提琴会很有帮助。如果
#用户在附加行之前没有任何数据,你可以简单地用替换.append(html)
。html(html)
并在updateUser()中调用buildRow(user)
函数
但我从json:)中获取数据,所以这就是它的外观(我的js代码:)看看这个:如果需要,还可以使用jQuery对表进行排序。一个有工作数据源的JSFIDLE就好了。