【问题标题】:jqGrid delete multiple rowsjqGrid删除多行
【发布时间】:2013-07-21 10:47:29
【问题描述】:

我想删除网格中的多行,但是当我选择多行并单击删除按钮时,没有任何反应。没有参数传递给editurl!

请帮忙。这是我在navGrid 中删除选项的代码:

{height:180,mtype:"POST",closeAfterDel:true, url:'gridedit.jsp',reloadAfterSubmit:true,

  onclickSubmit: function (options, rowid) {
      var rowData = jQuery(this).jqGrid('getRowData', rowid);
      var params ={amount:rowData.amount,account:rowData.account.replace(/-/g,"")};

      return params;
  },

  afterSubmit: function () {
      $(this).jqGrid('setGridParam', {datatype:'json'});
      return [true,'']; 
  }

【问题讨论】:

    标签: jqgrid multi-select


    【解决方案1】:

    如果您使用multiselect: true 选项,则删除选项的onclickSubmit 的第二个参数将是逗号分隔的ID 列表,而不仅仅是一个rowid。所以你必须修改onclickSubmit的代码。直接使用jQuery(this).jqGrid('getRowData', rowid) 会出错。您必须创建var rowids = rowid.split(","),然后在 rowid 数组上进行迭代(例如使用 for 循环)。您可以使用getRowDatarowids[i] 作为参数。您必须返回像 params 这样的项目数组,而不是一个对象。

    【讨论】:

    • 如果我使用自定义按钮,如何获取这些 ID?
    • @will824:我不确定您为什么需要自定义按钮的 id。自定义按钮可以有 class 与您的自定义类。因此,如果您可以通过 rowid 找到<tr>(行),然后搜索具有自定义类的元素。或者,如果您有自定义按钮(例如在 click 事件处理程序内部),您可以使用 .closest(".jqgrow").attr("id") 来查找 rowid。通过这种方式,您可以识别单击按钮所在的行。
    • @will824:如果你指的是导航栏中的自定义按钮,那么你可以在navButtonAdd调用中指定id参数。
    • 实际上我遇到的问题是无法通过 selectarrr 调用检索选定的 ID。这是因为虽然复选框被选中,但我们有一个 beforeSelect 函数不允许该行变为可选,所以 ids 的数组是空的。
    • @will824:您最好在新问题中详细描述您的问题。
    猜你喜欢
    • 2011-07-24
    • 2015-07-01
    • 1970-01-01
    • 2017-07-12
    • 1970-01-01
    • 2011-11-03
    • 1970-01-01
    • 2013-08-22
    • 2017-01-08
    相关资源
    最近更新 更多