【问题标题】:Jqgrid Open another page on clicking a custom edit buttonJqgrid 单击自定义编辑按钮打开另一个页面
【发布时间】:2016-05-19 15:43:46
【问题描述】:

我有一个 JQGrid,每行都有一个按钮,单击该按钮必须打开一个包含 edit.jsp 页面的小对话框窗口。我试过使用

$("#list").on("click", "#apri", function(){                 
            var id =sessionStorage.getItem("idProdotto");
            $("#list").jqGrid('editGridRow', id, {height:280,url:"http://localhost:8080/SaGE2/prodotti/edit" ,reloadAfterSubmit:false});                
        });

但 URL 被完全忽略,不使用 URL 使用它是不可能的,因为使用 editGridRow 打开的普通对话框具有输入框,但它不会加载按钮所在行的值。

我将发布按钮的格式化程序,因为在这里您可以看到 sessionStorage 的用法

function bottone (cellvalue, options, rowObject)
        {          
           return "<div style='margin-bottom: 5px; margin-top: 5px;'>" +  
           "<button id='apri' onclick="+sessionStorage.setItem("idProdotto", rowObject.id)+"> Apri </button></div>";

        }

【问题讨论】:

    标签: javascript jquery jqgrid


    【解决方案1】:

    您决不能将相同的 id 值作为页面上的一个元素放置(请参阅id='apri' 了解所有按钮)。

    在我看来,您应该只使用预定义的formatter: "actions" 和选项formatoptions: { editformbutton: true }。以the demo 为例。 editGridRow 的其他选项可以指定取决于 jqGrid 的版本和您使用的 fork。在使用免费 jqGrid 的情况下,您可以在 formEditing 参数中指定所有选项。有关详细信息,请参阅the wiki article。如果使用旧版本的 jqGrid,您可以使用 formatoptionseditOptions 属性内的选项(请参阅 the documentation)。

    免费 jqGrid 允许您在格式化程序操作中创建自定义按钮。见the answer

    如果您确实需要使用自定义格式化程序,那么我建议您阅读the answerthis one,其中显示了beforeSelectRow 回调的用法。

    【讨论】:

    • 我找到了一个系统,虽然它可以工作,但它所做的只是给我表格最后一条记录的 ID,有没有办法准确获取哪一行的哪个按钮的 ID被按下了吗?
    • @Malignus:抱歉,我不明白你的意思是什么按钮。你试图实现什么?我想您尝试使用onclick$("#list").on("click", ,,, 时会走错路。是无效的方式。您不需要注册额外的点击处理程序,只需使用beforeSelectRow如果您使用自定义格式化程序。如果您使用actionsNavOptions.custom(参见the answer),那么您只需定义自定义按钮的图标和onClick 回调。回调的options 包含您需要的所有内容。
    • 我给按钮的ID相同但名称不同,将行的ID作为名称,并使用按钮的名称来获取行的ID,我希望这不是特别垃圾,反正我会为帮助投赞成票
    • @Malignus:对不起,我还是不明白你的最后一个问题。首先,将id 属性的相同 值分配为多个元素是错误的。因此,您必须从自定义格式化程序中删除 id='apri'。如果您有一些未解决的问题,那么在您的问题文本中附加更完整的代码片段会更好。我可以修复代码。
    猜你喜欢
    • 2014-05-16
    • 1970-01-01
    • 1970-01-01
    • 2011-11-13
    • 1970-01-01
    • 2011-06-03
    • 1970-01-01
    • 1970-01-01
    • 2015-11-24
    相关资源
    最近更新 更多