0

我遇到了 Kendo AutoComplete 的问题。我有一个包含几个字段的表单,我想在这些字段上应用自动完成小部件。其中一些字段是在用户进行某些操作后动态创建的。

这是我所做的:

function myAutoComplete() {

    $("input.autocomplete").each(function() {

        //...Some code...

        //Kendo AutoComplete
        $(this).kendoAutoComplete({

            //Data
            dataSource: new kendo.data.DataSource({
                //URL
                transport: {
                    read: {
                        url : "utils/autocomplete.php",
                        data : {case: acCase, ent: $(prefixTarget + ' input[id*="entreprise_id"]').val()},
                        cache : false
                    }
                },
                schema: {
                    data: "data"
                }
            }),
            select: function(e){     
                var dataItem = this.dataItem(e.item.index());

                switch (acCase) {
                    case 1 :
                        $(prefixTarget + ' input[id*="'+selectorTarget+'"]').val(dataItem.CLI_NUM);
                        break; 
                    case 2 :
                        $(prefixTarget + ' input[id*="'+selectorTarget+'"]').val(dataItem.ENT_NUM);
                        break;  
                    case 3 :
                        $(prefixTarget + ' input[id*="'+selectorTarget+'"]').val(dataItem.SUC_NUM);
                        break; 
                    case 4 :
                        $(prefixTarget + ' input[id*="'+selectorTarget+'"]').val(dataItem.id);
                        break;     
                }
            },
            filter: "contains",
            highlightFirst: true,
            suggest: true,
            dataTextField: "SearchField"

        //End Kendo AutoComplete    
        });
    //End each
    });   
//End function
};

当文档准备好或创建新元素时调用此函数。一切正常!

我注意到 dataSource 只被调用一次,当用户第一次在字段中键入内容时。我想做的是每次用户输入字段时调用“数据源”,因为“传输”中传递的某些数据可能已更改。在某种程度上,我只想再次调用名为“autocomplete.php”的文件以使用新参数进行新查询。

我在 Internet 和 Kendo UI 的文档中进行了搜索,但没有找到制作方法。

有人可以向我解释我做错了什么吗?

4

1 回答 1

1

这是因为默认情况下过滤是在客户端执行的。您需要在serverFiltering选项设置为 true的情况下启用服务器端过滤器。

于 2013-11-21T09:11:39.480 回答