在不重新加载页面的情况下将行添加到 jqGrid

Add row into jqGrid without reload the page

我有一个带有 "local" 源(数组)的 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>

有效,但插入后,页面会重新加载。

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

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

尝试像这样设置按钮类型

type="button" 

或添加

return false;

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

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

loadonce: true