gpt4 book ai didi

javascript - 基于另一个列值禁用 jqgrid 中的超链接

转载 作者:行者123 更新时间:2023-11-29 21:11:37 25 4
gpt4 key购买 nike

我有一个 jqgrid,其中第一列有一些数字,它是一个超链接。单击时我正在使用 formatter:linkfmatter 并使用 ajax 调用将 rowid 发送到后端。

现在我的要求是,如果 B 列为 0,我希望 A 列成为超链接,但是当该特定列的 B行是 1 我想禁用列 B 超链接。

有人可以告诉我是否可以使用 javascript-jquery 并指出正确的方向吗?这是我的 jqgrid 代码

$("#tblJQGridCCVT").jqGrid({
url: "@Url.Action("MyAction", "MyController")" + "?Parameters=" + Params + "",
datatype: "json",
mtype: 'GET',
cache: false,
async: false,
colNames: ['A', 'B', 'C', 'D', 'E','F', so on...],//nearly 30 columns
colModel: [
{ name: 'A', index: 'A', width: 150, edittype: 'select', formatter: linkFmatter },
{ name: 'B', index: 'B', width: 150 },
{ name: 'C', index: 'C', width: 150 },
{ name: 'D', index: 'Updated By', width: 150 },
{ name: 'E', index: 'E', width: 150 },
{ name: 'F', index: 'F', width: 150 },
So on
...
...
...
],
pager: $('#pager'),
height:300,
rowNum: 10,
sortorder: "desc",
sortname: 'ResponseId',
viewrecords: true,
sortable: true,
loadonce: true,
forceClientSorting: true,
ignoreCase: true,
caption: "Summary"
});
$("#tblJQGridCCVT").jqGrid('navGrid', '#pager', { view: false, del: false, add: false, edit: false, search: true, refreshtext: "Refresh" }, { closeOnEscape: true, multipleSearch: true, closeAfterSearch: true }, {}, {}, {});
$("#tblJQGridCCVT").jqGrid('filterToolbar', { stringResult: true, searchOnEnter: false, defaultSearch: 'cn' });

function linkFmatter(cellvalue, options, rowObject) {
var selectedCellValue = cellvalue;
var selectedRowId = options.rowId;
return '<a href="javascript:MethodJS(' + selectedRowId + ')" style="color: #3366ff" id="' + selectedRowId + '" >' + selectedCellValue + '</a>';
}


function MethodJS(selectedRowId) {
$.ajax({
async: false,
type: "POST",
contentType: "application/json; charset=utf-8",
url: "@Url.Action("GetDetailedViewOfResponsesForEdit", "ViewResponseDetailsCCVT")",
data: "{RowId:'" + selectedRowId + "'}",
success: function (Result) {
if (Result == "Success") {
var url = window.location.href;
window.location.href = "@Url.Action("ResponseDetailsEditForCCVT", "ViewResponseDetailsCCVT")";
}
}
});
}

最佳答案

rowObject 参数中有行数据。您可以像下面这样使用它。

function linkFmatter(cellvalue, options, rowObject) {
if (rowObject.B == 0) {
var selectedCellValue = cellvalue;
var selectedRowId = options.rowId;
return '<a href="javascript:MethodJS(' + selectedRowId + ')" style="color: #3366ff" id="' + selectedRowId + '" >' + selectedCellValue + '</a>';
}

return cellvalue
}

DEMO HERE

关于javascript - 基于另一个列值禁用 jqgrid 中的超链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41590865/

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