kendo ui组合框不发送请求

时间:2014-06-24 23:59:13

标签: kendo-ui kendo-combobox kendo-ui-mvc

我尝试使用Kendo UI组合框在我输​​入时从服务器加载数据。 #Client是一个输入框。我需要保存文本框中项目的ID,这就是我使用组合框而不是自动完成的原因。当我输入组合框时,它总是在输入框中的数据后面发送1个按键的字符串。我认为这是因为"阴影"在完成对服务器的调用之后,Kendo UI输入框不会更新原始输入框。

此外,如果我不使用参数Map代码,则输入框中输入的任何内容都不会发送到服务器。并且,我希望过滤条件也会被发送。我查看了Telriks站点上的示例,他们显示使用请求参数中的过滤器来查看数据,但是当我使用fiddler或任何其他跟踪工具时,我可以看到请求中没有任何内容发送任何内容处理来自Kendo UI服务器调用的数据。这应该是一个相对论容易的事情,但我很难过。

编辑:我将它更改为kendoAutoComplete,一切正常,因为我希望自动完成工作。除了dataValueField的返回之外,它不应该与用于实现的ComboBox有任何不同。

        $("#Client").kendoComboBox({
            dataTextField: "label",
            displayValueField: "id",
            suggest: true,
            autoBind: false,
            minLength: 1,
            highlightFirst: true,
            filter: "contains",
            dataSource: new kendo.data.DataSource({
                serverFiltering: true,
                transport: {
                    read: { url: "/search/client", dataType: "json", type: "POST" },
                    parameterMap: function (data) {
                        return { search: $("#Client").val() }
                    }
                }
            })
        });

1 个答案:

答案 0 :(得分:0)

$("#Client").kendoComboBox({
        dataTextField: "label",
        displayValueField: "id",
        suggest: true,
        autoBind: false,
        minLength: 1,
        highlightFirst: true,
        filter: "contains",
        dataSource: new kendo.data.DataSource({
            serverFiltering: true,
            transport: {
                read: {
                   url: "/search/client", 
                   dataType: "json", 
                   type: "GET",
                   data: function () {
                     return { search: $("#Client").val() }
                   }
                }
            }
        })
    });