$(function () {
$("#btnDelete").click(function () {
var v;
var $check = $("#tableUserInfo :checkbox:checked");
$check.each(function () {
v = $(this).parents("tr").find("td").eq(1).text().trim();
});
$.ajax({
type: "post",
url: "/Handlers/UserInfo.ashx",
data: {
method: "DeleteUserInfo",
UserID:v
},
dataType: "json",
success: function (data) {
$.each(data, function (index, o) {
var s = "";
s += "<tr>";
s += "<td>";
s += "<input type='checkbox' name='ck' class='tree-checkbox' />";
s += "<td>" + o.UserInfo.UserID + "</td>";
s += "<td>" + o.UserInfo.UserName + "</td>";
s += "<td>" + o.UserInfo.Cellphone + "</td>";
s += "<td>" + o.DepartmentList.DeptName + "</td>";
s += "</td>";
s += "<td>";
s += "<img alt='' title='修改' onclick='UpdateUserInfo(" + o.UserInfo.UserID + ")' src='image/icon_Edit.gif'/>";
s += "<img alt='' title='删除' onclick='DeleteUserInfo(" + o.UserInfo.UserID + ")' src='image/icon_Delete.gif' />";
s += "</td>";
s += "</tr>";
$("#tableUserInfo tr:gt(0)").remove();
$("#tableUserInfo").append(s);
}
处理程序返回的dt里有5条数据
$("#tableUserInfo tr:gt(0)").remove();
你这里不是添加一条就删除之后继续添加的了。。这句放到each循环外面
$("#tableUserInfo tr:gt(0)").remove();/////////////////
$.each(data, function (index, o) {
var s = "";
s += "<tr>";
s += "<td>";
s += "<input type='checkbox' name='ck' class='tree-checkbox' />";
s += "<td>" + o.UserInfo.UserID + "</td>";
s += "<td>" + o.UserInfo.UserName + "</td>";
s += "<td>" + o.UserInfo.Cellphone + "</td>";
s += "<td>" + o.DepartmentList.DeptName + "</td>";
s += "</td>";
s += "<td>";
s += "<img alt='' title='修改' onclick='UpdateUserInfo(" + o.UserInfo.UserID + ")' src='image/icon_Edit.gif'/>";
s += "<img alt='' title='删除' onclick='DeleteUserInfo(" + o.UserInfo.UserID + ")' src='image/icon_Delete.gif' />";
s += "</td>";
s += "</tr>";
$("#tableUserInfo").append(s);
}
我怀疑是不是设置checkbox的默认值了
$.each(data, function (index, o) 你的data只有一个,所以只有一条。虽然你的data里面有五条数据,但是data只有一个。懂我的意思吗