如何在jQGrid行中禁用超链接

时间:2013-07-26 14:46:57

标签: jqgrid hyperlink

我正在使用自定义格式化程序在网格的其中一列中创建超链接。

在我的代码中,有些情况下需要禁用所选行。行禁用按我的意愿工作,但不禁用该行的超链接。我无法选择行,所有其他列值显示为灰色,表示该行已禁用。内容不会改变颜色的唯一列是具有链接的列。

有关如何禁用链接的任何想法?

这是我的loadComplete函数:

    loadComplete: function (data) {

           var ids =jQuery("#list").jqGrid('getDataIDs');

            for(var i=0;i < ids.length;i++){

                var rowId = ids[i];
                var mod = jQuery("#list").jqGrid('getCell',ids[i],'mod');

                if(mod=='y'){

                jQuery("#jqg_list_"+rowId).attr("disabled", true);
                $("#list").jqGrid('setRowData',ids[i],false, {weightfont:'bold',color:'silver'});

                var iCol = getColumnIndexByName.call(this, 'adate');

                $(this).jqGrid('doInEachRow', function (row, rowId, localRowData) {
                    $(row.cells[iCol]).children("a").click(function (e) {
                        e.preventDefault();
                        // any your code here
                        alert("No Good");
                        return false;
                    });
                });

                    }
                }

            }

我希望在列mod = y

列的所有行中禁用链接

1 个答案:

答案 0 :(得分:0)

您可以尝试使用onClick描述hereherehere格式化程序的dynamicLink回调。它为您提供最大的灵活性。在onClick回调内部,您可以测试$(e.target).closest("tr.jqgrow").hasClass("not-editable-row")之类的内容,并且在这种情况下什么都不做。