【问题标题】:Kendo: bind data to form剑道:将数据绑定到表单
【发布时间】:2019-09-16 13:26:37
【问题描述】:

我在这里问过这个问题:Kendo: bind remote datesource to form

由于我没有足够的声誉,我无法发表评论,所以对于重复的帖子,我深表歉意。

如何将 ajax 请求的结果绑定到表单?

    $.ajax({
    url: "Read?messageID=" + "123456",
    method: "get",
    type: "application/json",
    success: function (result) {
        var dataSource = new kendo.data.DataSource({
            data: result
        });
        console.log(result);
    },
    error: function (result) {
        console.log(result);
    }

});

我可以看到读取中的数据,但我不知道如何提取它然后将其绑定到表单。我也一直在努力寻找文档。

这是我用于表单输入的代码:

@Html.Label("message", "Note:", new { @class = "form-label" })
<input id="messages" class="form-control k-textbox" data-bind="value:message" />

我觉得有一个缺失的部分可以将它们连接在一起。我将继续搜索和阅读,希望能找到解决方案,但我们将不胜感激。

非常感谢。

【问题讨论】:

  • 几个问题可能对这里有所帮助:1) 您是否能够提供您希望绑定的返回数据的样本? 2) 您是想将多个 cmets 绑定到多个输入控件,还是总是将 1 条评论绑定到 1 个输入字段?

标签: json ajax data-binding kendo-ui kendo-mvvm


【解决方案1】:

https://docs.telerik.com/kendo-ui/framework/mvvm/overview

  1. 将视图绑定到视图模型。这是通过调用 kendo.bind 方法完成的:

    kendo.bind($("#view"), viewModel);

您的 viewModel 必须是可观察的,您的 $("#view") 等价物必须是包含整个表单的容器。

【讨论】:

  • 感谢您的评论。我已经做到了,但表单字段中仍然没有数据。我已经使用了您包含的链接中的 viewModel,但这仅适用于本地数据,为了显示来自远程源的名称,我是否将该值设置为 null?我不确定我是否可以在此回复中包含代码,所以我不会这样做,因为我不希望我的评论被删除:-)
  • 如何以及何时绑定?我认为在您的成功功能中,kendo.bind($("#view"), new Observable(result)) 之类的东西应该可以工作,假设result 的形式为{message: 'your message',...}
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-05-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多