1

我的 kendoAutoComplete 有问题我想将两个字段绑定到 kendoAutoComplete,现在我可以将一个字段名称绑定到 dataTextField 但对于像 id 这样的另一个字段我没有任何其他选项,以下是我的代码

var alld="";
function getData(req) {
            $.ajax({
                url: 'BookingCity.asmx/GetAllCityBus',
                contentType: 'application/json; charset=utf-8',
                type: 'POST',
                dataType: 'json',
                minLength: 1,
                async: false,
                cache: false,
                data: "{'prefixText':'" + req + "'}",
                success: function(response) {
                    alld = response.d;


                                   },
                error: function(xhr, status) {
                    alert("error");
                }

            });
        }   
 $("#totext").kendoAutoComplete({
                dataSource: {
                    read: getData($("#totext").attr("value")),
                    data: alld

                },
                minLength: 2,
                placeholder: "Select city...",
                dataTextField: "Name",
                dataTextField:"Id"


            });
4

3 回答 3

1

我想你可能正在寻找dataValueField:"Id"

笔记:

kendoAutoComplete 中不使用 dataValueField(我很抱歉)。它错误地出现在 Kendo UI 网站的演示页面上。似乎可以使用下拉列表或组合框。

这是假设您需要返回一个与 dataTextField 对应的值(如 Id)。

您可以在Kendo UI 论坛上阅读更多相关信息 - DataValueField 是否存在?

或查看此相关摘录:

自动完成 UI 小部件仅保留选定的文本。实际上,您只能发布输入元素的内容。这是预期的行为。至于演示,“dataValueField”是错误留下的,我们将在 KendoUI 的下一个版本中修复它。

为了实现您的目标,您将需要使用 dropdownlist 或 combobox,它们会保留选定的 id。

问候, Georgi Krustev Telerik 团队

于 2013-03-06T05:34:39.747 回答
1

您可以使用模板来实现这一点:

$("#totext").kendoAutoComplete({
            template: "#=Name# #=Adress#",
            //.. rest of the options
于 2013-02-28T18:04:36.820 回答
0

你为什么要这样做?您只能将一个字段绑定到 dataTextField 属性,因此如果您想显示两个,只需向数据源添加一个额外的计算字段,其中包含两个字段的连接值并绑定到该字段。

于 2013-02-28T16:06:39.223 回答