我使用Matt Hidinger的例子来使用Jquery创建模态表单。
我试过类似的东西
//Javascript click event
$("#Edit").click(function () {
var grid = jQuery('#Tareas');
var selId = grid.jqGrid('getGridParam', 'selrow');
var myCellData = grid.jqGrid('getCell', selId, 'TareaId');
if(myCellData=="") {
alert("Select Task to Edit");
} else {
location.href = '/Task/Edit/'+myCellData;
}
});
<button id="Edit" class="openDialog" data-dialog-id="editDialog" data-dialog-Title="Edit" title="editDialog" style="border: 1; background: transparent">
<img src="@Url.Content("~/Content/Detail.png")" />
</button>
但我无法捕捉到点击事件。有人能帮忙吗?
您正在引用#Edit
。这意味着JQuery正在DOM中查找ID
为Edit的对象。它找不到它,因为您没有将ActionLink
的ID
设置为"编辑"。
试试这个:
@Html.ActionLink("Edit", "Edit", "MyThing", new { id = item.Id },
new { @class = "openDialog", data_dialog_id = "editDialog",
data_dialog_title = "Edit", @id = "Edit" })
因为不仅需要发送行的id,还需要显示基于用户配置文件的编辑,所以我决定实现一个操作列。
$.ActionsFormatter = function(cellvalue, options, rowObject) {
// column 10 contains true or false from de user profile action
// column 1 contains the item.id
var c = rowObject[10];
if(c) {
var src = '@Url.Content("~/Content/")' + 'Edit_16.png';
return "<a class='openDialog' data-dialog-id='editDialog' data-dialog-Title='Edit Task' title='editDialog' href ='@Url.Action("Edit")'"+rowObject[1]+"><img title='edit' src='" + src + "' alt='edit' title='edit' /> </a>";
}
else {
return "";
}
};