【问题标题】:Add row into jqGrid without reload the page在不重新加载页面的情况下将行添加到 jqGrid
【发布时间】:2015-03-12 08:02:21
【问题描述】:

我有一个带有“本地”源(一个数组)的 jqGrid。

我使用此代码添加了一个按钮来添加一行:

这是按钮代码:

$("#btnAddCategory").button().click(function(event) {
    var newRowId = $.jgrid.randId("new");
    $("#tableCategories").addRowData(newRowId, {
        nome : "prova",
        squadre : 16,
        minutaggio : 40
    }, "last");
});

这是有按钮定义的 HTML:

<form id="frmTCstepCategorie">
    <fieldset class="ui-widget ui-widget-content">
        <legend class="ui-widget">
            Categorie
        </legend>
        <table id="tableCategories">
            <tr>
                <td></td>
            </tr>
        </table>
        <div style="margin-top: 10px" class="categoriesNav">
            <button id="btnAddCategory">
                Aggiungi
            </button>
            <button id="btnDelCategory">
                Rimuovi
            </button>
        </div>
    </fieldset>
</form>

它可以工作,但插入后,页面会重新加载。

如何在不重新加载页面的情况下添加行?

【问题讨论】:

  • addRowData 不要重新加载页面。您应该在代码的另一部分搜索原因。例如,您应该验证按钮单击事件处理程序是否返回 false 或者您以其他方式阻止默认处理单击(例如调用 e.preventDefault)。
  • 可能你在editoptions做了什么。
  • "可以,但是插入后页面会重新加载。"....怎么样?你得到插入的行还是在加载后重置?

标签: javascript jquery jquery-ui jqgrid jquery-widgets


【解决方案1】:

可能是您的按钮是提交按钮或添加一行导致页面重新加载后的某些代码。

尝试像这样设置按钮的类型

type="button" 

或添加

return false;

在按钮点击处理程序的末尾。

【讨论】:

  • 现在可以了。我将按钮定义从&lt;button&gt; 更改为&lt;input type="button" ... &gt;
  • 好的,你也可以使用
【解决方案2】:

您可以将以下行添加到您的 jqgrid 表中:

loadonce: true

【讨论】:

    猜你喜欢
    • 2020-09-12
    • 2018-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-23
    相关资源
    最近更新 更多