0

我有一个使用列表视图的编辑模板,并且想要一个从远程源填充的下拉列表。但下拉列表只显示加载图标。

这是 DropDownList 数据源。

var dsTitles = new kendo.data.DataSource({
    transport: {
        read: "../data/options/",
        dataType: "json"
    },
    serverFiltering: true,
    filter: [{
        field: "category_opt",
        operator: "eq",
        value: "title"
    }]
});

这就是我在编辑模板中的内容

<input name="title_clt"
       data-bind="value:title_clt"
       data-value-field="value_opt"
       data-text-field="label_opt"
       data-source="dsTitles"
       data-role="dropdownlist"
       required
       validationMessage="Required" />

任何帮助都会很棒。

4

2 回答 2

0

您的代码基本上没问题,但是您可能错过了几个问题。

由于您将 DataSource 定义data-source="dsTitles"为 HTML 的一部分,因此您定义事物的顺序非常重要。

首先要定义的是 HTML。这意味着这dsTitle应该是全球性的。然后,在input处理完之后,您应该调用kendo.init.

所以,它应该是这样的:

<html>
<head>
    <meta charset="UTF-8"/>
    <title>OnaBai - KendoUI DrowDownList</title>
    <!-- Kendo UI Web styles-->
    <link href="styles/kendo.common.min.css" rel="stylesheet" type="text/css"/>
    <link href="styles/kendo.default.min.css" rel="stylesheet" type="text/css"/>

    <!-- Kendo UI Web scripts-->
    <script src="js/jquery.min.js" type="text/javascript"></script>
    <script src="js/kendo.web.min.js" type="text/javascript"></script>

    <!-- Web Page styling -->
    <style type="text/css">
    </style>

    <script type="text/javascript">
        var dsTitles = new kendo.data.DataSource({
            transport: {
                read: "../data/options/",
                dataType: "json"
            },
            serverFiltering: true,
            filter: [{
                field: "category_opt",
                operator: "eq",
                value: "title"
            }]
        });

        $(document).ready(function () {
            kendo.init("input");
        });
    </script>
</head>
<body>
<input name="title_clt"
       data-bind="value:title_clt"
       data-value-field="value_opt"
       data-text-field="label_opt"
       data-source="dsTitles"
       data-role="dropdownlist"
       required
       validationMessage="Required" />
</body>
</html>
于 2013-01-28T21:57:49.117 回答
0

我认为答案可能就像使用 Kendo DropDownListFor 一样简单,它将填充给定的数据。

于 2013-01-29T14:25:28.327 回答