telerik jquery KendoTreeList不是函数

时间:2017-10-20 16:20:22

标签: javascript jquery kendo-ui

我试图通过Jquery使用kendoTreeList的功能。 Tekerik文档在这里: https://docs.telerik.com/kendo-ui/api/javascript/ui/treelist

我使用的代码如下所示:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="~/Scripts/jquery-1.12.4.js"></script>
<script src="@Url.Content("~/Scripts/kendo/kendo.all.min.js")"></script>
<script src="@Url.Content("~/Scripts/kendo/kendo.treelist.min.js")">
</script>

<script>
    var search = document.getElementById("SearchTerm");


function SearchResults(results) {
    $('#ResultsList').empty();

    var items = {};
    $.each(results, function (i, value) {
        items += { id: i, parentId: null, Name: value.MacroName, Type:"Macro" }
            if (value.Files.length > 0) {
               $.each(value.Files, function (x, File) {
                   items += {parentId: i, Name: File, Type:"File"}
                });
            }
            if (value.Servers.length > 0) {
                   $.each(value.Services, function (x, Server) {
                         items += { parentId: i, Name: Server, Type: "Server" }
                   });
               }
           if (value.Databases.length > 0) {
               $.each(value.Databases, function (x, DB) {
                    items += { parentId: i, Name: DB, Type: "Databases"}
               });
           }
           if (value.Services.length > 0) {
             $.each(value.Services, function (x, Service) {
                 items += { parentId: i, Name: Service, Type: "Service" }
              });
           }
           if (value.SecGroups.length > 0) {
             $.each(value.SecGroups, function (x, PSI) {
                 items += { parentId: i, Name: PSI, Type: "SecGroup" }
                });
          }


    });


    $("#ResultsList").kendoTreeList({
        columns: [
            { field: "Name" },
            { field: "Type"},
            {
            command: [{
            name: "Display",
            text: "Display",
            click: function (e) {
                // e.target is the DOM element representing the button
                var tr = $(e.target).closest("tr"); // get the current table row (tr)
                // get the data bound to the current table row
                var data = this.dataItem(tr);
                console.log("Details for: " + data.Name);
                Display(data.Name, data.Type)
            }
        }]
            }
        ],
        editable: true,
        dataSource: items
    });
}
 function Display(value,Type)...
</script>

代码越多,但搜索结果就是必要的,它包含了kendoTreeList函数。调试器说.kendoTreeList不是一个函数,但它应该。为什么说这不是一个功能?

1 个答案:

答案 0 :(得分:0)

该问题是由于有多个JQuery Script引用引起的。 在MVC中工作时,视图 - &gt; Shared-&gt; _Layout.cshtml 下的_Layout页面默认情况下底部有@Scripts.Render("~/bundles/jquery")的引用。这需要删除。拥有多个Jquery引用将导致脚本出现问题,导致编译器无法找到您尝试使用的函数。