0

我正在使用免费的 Kendo UI Core Framework。我正在寻找一个可搜索的组合框,它在插入例如 2 个字母后触发 sql。在我的列表框后面有超过 10000 个项目,现在加载或刷新页面需要太多时间。

是否可以仅通过像自动完成小部件那样的用户输入来触发 sql 查询?

我的代码是:

<link href="test/styles/kendo.common.min.css" rel="stylesheet" />
<link href="test/styles/kendo.default.min.css" rel="stylesheet" />
<script src="test/js/jquery.min.js"></script>
<script src="test/js/kendo.ui.core.min.js"></script>

 <script>
 $(document).ready(function() {

 var objekte = $("#objekte").kendoComboBox({
 placeholder: "Objekt auswählen",
 dataTextField: "kurzname",
 dataValueField: "objekt_id",
 minLength: 2,
 delay: 0,

 dataSource: new kendo.data.DataSource({
    transport: {
      read: "test/objects.php"
    },

    schema: {
        data: "data"
    }

 }),
 }).data("kendoComboBox");
 </script>
4

2 回答 2

0

现在它起作用了!

 var objekte = $("#maytest1objekt").kendoComboBox({
 placeholder: "Objekt auswählen",
 dataTextField: "kurzname",
 dataValueField: "objekt_id",

 serverFiltering: true,
 filter: "startswith",
 autoBind: false,
 minLength: 1,
 delay: 0,

 dataSource: new kendo.data.DataSource({
    transport: {
      read: "test/objects.php"
    },
    schema: {
        data: "data"
    }
 }),
 }).data("kendoComboBox");
于 2014-05-19T06:13:07.433 回答
0

您应该设置autoBindfalse以便在绑定(初始化)时不会自动从服务器加载所有内容。

然后,将其与minLength以指定用户应键入的最少字符数。

最后,设置serverFilteringtrue为了只带符合条件的元素。

从 Kendo UI 网站查看这个演示:http: //demos.telerik.com/kendo-ui/web/combobox/serverfiltering.html

于 2014-05-17T22:54:35.423 回答