【问题标题】:How to override submit button event in add/edit dialog in jqGrid如何在 jqGrid 的添加/编辑对话框中覆盖提交按钮事件
【发布时间】:2012-07-24 11:18:21
【问题描述】:

我正在使用 jqGrid 进行调度过程。在网格中,我正在显示部门下员工的工作时间和其他详细信息。单击网格中的一行时,必须弹出另一个网格,其中提供了主网格中相应行的详细信息。例如您可以参考http://trirand.com/blog/jqgrid/jqgrid.html (adanced>masterdetails)。这显示了两个网格的示例,单击主网格中的一行,您将在下面的网格中获得发票详细信息。我也需要相同的功能并添加到它,我必须添加/编辑第二个网格中的行。两种网格数据类型都是本地的。在添加/编辑对话框中单击提交按钮时,我想覆盖将数据提交到服务器的默认操作,并编写我自己的函数。功能是将添加的细节/编辑的细节存储到一个对象中,并将其作为数据块绑定到一个div。

我尝试了onclickSubmit,但它仍在调用默认方法。 除此之外,我想用新行重新加载网格。

【问题讨论】:

    标签: javascript jquery jqgrid


    【解决方案1】:

    对于您的第一个问题,您可以做什么... jqgrid 的 onSelectRow 属性,您可以将该行的数据作为本地数据发送,并将新网格加载到前一个网格的下方

    例如,你可以用第一个网格来写

    onSelectRow: function(){
    var sel_id = jQuery("#grid").jqGrid('getGridParam', 'selrow');
    

    //这将为您提供所选行的ID 现在要获取该行的列值,有几种方法

    我会选择这个,假设我在这一行中有日期作为列

    所以,

    var date=getCellValue(sel_id,'date');
    

    现在您可以在同一个函数中加载一个新网格并将此数据发送到该网格

    现在您的第二个问题是,对于添加/编辑对话的自定义功能,您可以利用此事件并覆盖它

    提交之前

    检查一下

    http://www.trirand.com/jqgridwiki/doku.php?id=wiki:form_editing#editgridrow
    

    【讨论】:

    • 我累了..但是 beforeSubmit 仍在调用必须被阻止的服务器调用。有什么办法吗
    • 所以您不希望您的数据进入服务器?
    • 你可以将数据发送到服务器并绑定服务器本身的数据,从服务器返回对象然后将数据绑定到视图中的div。???
    • 或者你可以通过覆盖提交按钮的点击事件来编写你自己的代码..
    • 不..我现在不想去服务器。原因是我将在第二个网格中编辑行,这会用新值更新第一个网格。同样,我将编辑第一行中的大部分行,然后通过按钮的单击事件,我将所有编辑后的数据发送到服务器。这是我试图实现的功能。但看不出来:(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-24
    • 1970-01-01
    • 1970-01-01
    • 2011-09-23
    • 1970-01-01
    • 1970-01-01
    • 2014-12-02
    相关资源
    最近更新 更多