首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >多个dataTextField的kendoAutoComplete

多个dataTextField的kendoAutoComplete
EN

Stack Overflow用户
提问于 2013-04-17 19:53:28
回答 4查看 1.6K关注 0票数 1

以下代码仅适用于FileNo (字段)的自动完成。我希望这个函数也适用于employee的其他属性。即FirstName、LastName

dataTextField:"FileNo“<-这里dataTextField获取sing字段。它怎么能用于多个字段呢?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-04-19 06:39:31

由于您知道要搜索哪些列,因此我的建议是:

LastName...).

  • This

  • 以能够搜索所需任何列的方式实现index.php/hr_management/manage_hr/search_employee/ (FileNoFirstNameautocomplete.

  • Once服务将返回三列(至少),提供在其上找到匹配值和匹配值的列名id

  • match value用于在autocomplete上显示autocomplete.

  • Once selected值中的值使用列名和匹配值对grid.

进行过滤

票数 2
EN

Stack Overflow用户

发布于 2013-04-18 04:44:17

您应该使用template来更改在自动完成的下拉列表中显示的内容。那么dataTextField将只在input元素内部使用。

Here是它创建模板的方式。

票数 2
EN

Stack Overflow用户

发布于 2017-05-31 21:11:50

Kendo Autocomplete具有接受字段名称(例如,数据源的employeeID、employeeName等)以用于筛选项的dataTextField。

要使用多个字段,您必须在解析模式中的数据源期间,将其中一个字段设置为包含连接字段,如下所示。然后将AutoComplete的过滤器设置为"contains

我是这样做的。

代码语言:javascript
运行
复制
var myDataSrc = new kendo.data.DataSource({    
                    transport: {
                        read: {
                            type:"GET",
                            url:clientDataURL,
                            dataType: "jsonp",
                            contentType: "application/json",
                        }                           
                    }, 
                      schema: {
                            parse: function(clntDB) {
                                $.each(clntDB, function(ky, clnt) {
                                  clnt.firstName = clnt.clientUID + " | " + clnt.firstName+ "  " + clnt.lastName;

                                });
                                return clntDB;
                            } 
                     },
                     pageSize: 4    // Number of Items to show during input
        });

/查看上面的 firstname ,它被重新构造为包含连接的姓氏、ID和名字字符串。

下一步是使用解析的firstName作为kendo Autocomplete的dataTextField的值。

然后var selectedClntID;/实际上,这是为了获取ID以供将来使用

代码语言:javascript
运行
复制
$("#YOURSEARCHINPUTID").kendoAutoComplete({
                dataSource: myDataSrc ,
                template:   tmplSrchdClnt,  // YOUR TEMPLATE like "<div>firstName</div>"            
                dataTextField:"firstName",  
                filter:"contains",    /// DON'T FORGET TO ADD THIS
                minLength    : 1 ,
                select: function(e) {
                   var selectedClnt = this.dataItem(e.item.index()),
                       x = kendo.stringify(selectedClnt);
                       selectedClntID =    JSON.parse(x);


               }
                // headerTemplate: '<div><h2>ID - LastName</h2></div>'
        });

然而,很难找到这样的资源指示,当你看到它时,这是很棒的,当涉及到自动完成时,working.This是我的项目的引擎。我是这样做的。

或者,您可以转换为

data =新员工(名字,姓氏,ID);//客户端

代码语言:javascript
运行
复制
function Employee( firstname, lastname, ID ){
  this.filterStr = firstname + ""+lastname+" "+ID;
}

data赋予kendo AutoComplete dataSource,并使用filterStr作为dataTextField。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16059276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档