Javascript 为什么我的jsGrid拒绝更新已编辑的行?

Javascript 为什么我的jsGrid拒绝更新已编辑的行?,javascript,jsgrid,Javascript,Jsgrid,我知道还有其他选择,但我真的想在我的项目中使用jsGrid。我正在使用他们网站上显示的1.5.2版本,并从CDN中提取它。我所需要的只是按照描述调用更新,这样我就可以执行$.ajax,但回调似乎什么都做不了。以下是我的实现: $(function() { $("#jsGrid").jsGrid({ width: "100%", height: "600px", inserting: false,

我知道还有其他选择,但我真的想在我的项目中使用jsGrid。我正在使用他们网站上显示的1.5.2版本,并从CDN中提取它。我所需要的只是按照描述调用更新,这样我就可以执行
$.ajax
,但回调似乎什么都做不了。以下是我的实现:

$(function() {
        $("#jsGrid").jsGrid({
            width: "100%",
            height: "600px",

            inserting: false,
            editing: true,
            sorting: true,
            paging: false,
            autoload: true,

            controller: {
                loadData: function(filter) {
                    return $.ajax({
                        type: "GET",
                        url: "@Url.Action("getOptions", New With {.communityID = 1})",
                        data: filter
                    });
                },

                updateItem: function (item) {
                    console.log('hello??');
                    return $.ajax({
                         type: "PUT",
                         url: "/items",
                         data: item
                    });
                }
            },

            ...
        });
    })
  • 文档中说,控制器方法是预期的 回报承诺。没关系,因为我使用的是jQuery3.0
    $.ajax
    返回现在标准化的Javascript承诺/a(即 jsGrid所期望的)

  • 我知道控制器对象正被正确理解,因为它 调用
    loadData()
    ,并用我的REST中漂亮的行填充 服务

  • 在查看了许多其他示例之后,似乎每个人都能使用文档中提供的非常简单的代码。我的
    console.log
    从未在断点上被命中,并且AJAX调用从未在网络选项卡中发生

  • 我切换到了jsgrid.js的非精简版本,并且从未出现任何控制台错误

  • 当我模糊一行(从我正在编辑的行移开)时,该值返回到最初的状态


也许我只是不明白它是怎么工作的?若要保留对数据库的编辑,是否应查找其他事件?任何帮助都将不胜感激

如果有人搜索,请在此处回答

我希望在编辑字段并使其模糊时触发
updateItem
事件。事实并非如此——您必须包含一个“控件”字段,默认情况下,该字段将为您提供一个保存按钮。这对我来说是很好的

$("#jsGrid").jsGrid({
    .
    .           
    fields: [
        .
        .
        { type: "control" }
    ]
}); 

您希望何时调用
updateItem
<编辑后保存后,应调用code>updateItem。您是否有在任何地方发布的示例来查看问题?