编辑显示的值时,更改JQuery数据表中某行的样式
Change style on a row in JQuery Datatables when editing displayed values
JQuery插件中有一个数据表,它显示从数据库中提取的对象。在每行的末尾都有一个"编辑"按钮,单击该按钮会打开一个弹出窗口,其中包含允许用户更改对象的字段。
下面的代码是打开弹出窗口的"编辑"按钮。
<td>@Ajax.ActionLink("Edit",
"controllerMethodReturningEditView",
new
{
Id = @m.Id
},
new AjaxOptions
{
HttpMethod = "GET",
UpdateTargetId = "popupBox",
InsertionMode = InsertionMode.Replace,
OnSuccess = "openPopup('myPopup')"
})</td>
按下编辑按钮时调用的控制器方法只打开弹出框中显示的部分视图
return PartialView("editObjectView", objectModel);
而这个"editObjectView"只包含一个带有用于接受输入的字段的表单。
@using(Html.BeginForm(...
<label>...</label><input ... />
.... and so on
然后,在此弹出窗口中,允许用户编辑所显示对象的值。当用户按下弹出窗口中的"保存"按钮时,新值将被发送到控制器方法,该方法将值(保存到对象)保存在数据库中。保存值时,控制器方法调用加载第一个视图(显示数据表的视图)的控制器方法,该方法从数据库中请求所有对象,以便显示新对象或对对象的更改。
现在我的问题是:当对象编辑后重新加载页面时,如何更改编辑行的样式?我只想在最近编辑的行周围设置一个红色边框。如果我不必通过用于重新加载页面的所有控制器方法发送对象,我会更愿意。
谢谢你的帮助,谢谢!
不知道返回到页面的内容,也不知道要更新的样式。
假设您希望交替使用每行css类。在将内容添加到页面后,您可以执行以下操作:
$("tr:nth-child(odd)", "#YOUR_TABLE_ID").addClass("odd-row");
或者,确保每行HTML都被格式化为一个唯一的ID标记"…",然后在添加到页面后进行一些jQuery设置类。
如果请求是Ajax请求,并且您正在使用json之类的返回内容:
var json { Id = Table.ID, status = true };
然后OnSuccess事件会做这样的事情:
function OnSaveSuccess(data) {
if (data.status) {
$("#" + data.Id).addClass("highlight-row");
} else {
console.warn("save was not successful!");
}
}
相关文章:
- 用程序搜索JQuery数据表中的文本
- 具有rowGrouping的数据表无法隐藏列
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 将单击事件添加到数据表
- 使用带有参数的数据表sAjaxSource
- 对角度数据表中括号内的数字进行排序
- 动态构建一个数据表与scriplets
- 将动态样式应用于数据表行
- 对象文字数据表中的 Google 可视化样式角色
- 将数据表.js样式应用于 AJAX 加载的表
- "数据表”;jquery加载后CSS样式消失
- 编辑显示的值时,更改JQuery数据表中某行的样式
- 数据表:列显示在“显示/隐藏列”列表中,即使它具有“显示:无”样式
- 在数据表 Javascript 中更改 ColVis 样式
- 数据表在重新加载新数据后失去交互性和样式
- 数据表样式不能工作
- 数据表不能应用样式
- 将样式放入数据表中
- 是否有更好/有效的解决方案来根据每个数据表单元格的值设置其样式
- 数据表:如何添加自定义服务器端样式