当前位置: 首页 > 知识库问答 >
问题:

KendoUI:无法将数据绑定到JSON文件中的HTML元素。

从阎宝
2023-03-14

我不熟悉剑道ui和mvvm,我面临这个问题:

我有一个JSON文件,格式如下:

[
{
"Id":1,
"img":"shoes.png"},
{"Id":2,
"img":"books.png"}
    }
]

我正在使用剑道男孩在线提到的示例阅读该文件,如下所示:

var crudServiceBaseUrl = "pro.json";
    var viewModel = kendo.observable({
            productsSource: new kendo.data.DataSource({
                transport: {
                    read: {
                        url: crudServiceBaseUrl,
                        dataType: "json"
                    },
                    update: {
                        url: crudServiceBaseUrl,
                        dataType: "json"
                    },
                    destroy: {
                        url: crudServiceBaseUrl,
                        dataType: "json"
                    },
                    parameterMap: function(options, operation) {
                        if (operation !== "read" && options.models) {
                            return {
                                models: kendo.stringify(options.models)
                            };
                        }
                        return options;
                    }
                },
                batch: true,
                schema: {
                    model: {
                        id: "Id"
                    }
                }
            })
        });

        kendo.bind($("#form-container"), viewModel);

我能够将数据源中的数据绑定到剑道控件,如Dropdown列表或其他剑道控件。但是当我尝试将数据绑定到超文本标记语言控件(主要是img标记)时。它停止工作,并给出一个错误,说“this.parent”不是一个函数。

以下是有效的HTML:

Select Product: <select data-role="dropdownlist" data-value-field="Id" data-text-field="img"
                         data-bind="source: productsSource"></select>

然而绑定到一个正常的

请帮帮我。谢谢

-哈迪克


共有1个答案

洪弘毅
2023-03-14

目前Kendo MVVM无法将数据源绑定到HTML元素。只有剑道UI小部件可以绑定到剑道。数据数据源。使用小部件(例如ListView)可用于DIV

<div data-role="listview" 
     data-template="template"
     data-bind="source: productsSource">
</div>

<script id="template" type="text/x-kendo-template">
   <img data-bind="attr: { src: img }" />
</script>
 类似资料:
  • 如何将MVVM值绑定到dropdownlist?下面的输入元素运行良好

  • 我遇到了一个很奇怪的问题。我尝试将属性绑定到DataContext,但它不起作用。这是我正在做的事情(在橱窗里)。资源部分): 在代码的其他地方,我像这样设置数据上下文: 我没有收到任何错误,但绑定没有发生。所以我添加了一个调试转换器,看看我是否可以弄清楚发生了什么: 我在转换器中设置了一个断点,传递的值为 null。确定事情不正常,我在设置 DataContext 的行上设置了一个断点。它首先被

  • 问题内容: 我正在MVC 4应用程序中工作..我想使用jQuery将json数据绑定到应用程序中的表。我能够使用方法将数据集(我从数据库中获取数据)转换为json数据并获取json数据。但是我不知道如何使用jquery将其绑定到表。请告诉我解决此问题的方法。 JSon数据 : 我的json数据是这样的。 jQuery : 查看 : 控制器 : 问题答案: 首先,您应该将返回的json 字符串 解析

  • 在我的视图页面中,我试图放置一个用户的电子邮件地址,这个地址是我通过使用knockout.js进行数据绑定获得的,但是我很难让它正常工作。 电子邮件代码 这就是我所拥有的,当前的结果是:图标,然后是它旁边的电子邮件地址,当我点击电子邮件时,什么也没有发生。如有任何有用的提示,我们将不胜感激。

  • html绑定(bind-html)将在界面中添加特定的html元素,正如text绑定时候所说的哪样,如果要在界面中动态添加html元素,则需要使用html绑定。 代码实例: //.w片段 <div bind-html="details"></div> //.js片段 this.details = justep.Bind.observable(""); this.details.set("<em

  • html绑定(bind-html)将在界面中添加特定的html元素,正如text绑定时候所说的哪样,如果要在界面中动态添加html元素,则需要使用html绑定。 代码实例: //.w片段 <div bind-html="details"></div> //.js片段 this.details = justep.Bind.observable(""); this.details.set("<em