0

我正在使用 jquery 选择器来获取一组输入并将它们放入 kendoComboBoxes 中,这样可以正常工作。我的问题是当点击远程数据源时,我不知道如何将过滤器字符串设置用户键入的数据。$(this) 似乎不起作用。

$("input[name$='].RCNumber']").kendoComboBox({
            placeholder: "Enter UserID or Name",
            dataTextField: "EmpUserID",
            minLUserth: 3,
            dataValueField: "EmpUserID",
            //change: onUserSelect,
            template: "<table cellpadding='0' cellspacing='0'><tr><td style='width:100px;'>${data.EmpUserID}</td>" +
                          "<td style='width:150px;'>${data.Name}</td>" +
                          "<td style='width:300px;'>${data.Title}</td>" +
                          "<td style='width:250px;'>${data.Department}</td></tr></table>",

            filter: "contains",
            autoBind: false,
            dataSource: {
                serverFiltering: true,
                transport: {
                    read: {
                        type: "POST",
                        dataType: "json",
                        url: "/Home/GetUsers/",
                            data: {
                                filterString: function () {
                                    var tmp = $(this).data("kendoComboBox").text(); return tmp;
                                }
                            }
                        }
                    }
                }
            }).data("kendoComboBox");
4

1 回答 1

0

我想到了。换这个就行了...

var tmp = $(this).data("kendoComboBox").text(); return tmp;

...有了这个...

var tmp = $(document.activeElement).val(); return tmp;

因为您正在使用的下拉列表在调用数据方法时具有焦点。

于 2015-08-13T18:38:11.760 回答