php – Kendo自动完成搜索多列
发布时间:2020-12-13 16:50:42 所属栏目:PHP教程 来源:网络整理
导读:我在我的KendoGrid中使用过kendo Auto Complete, 它现在工作正常,但它只搜索或从一列中获取数据, 我想让它搜索多个列. 这是我在KendoGrid中的自动完成代码. $(function(){ $("#EmployeeGrid").kendoGrid({ dataSource:{ serverPaging: true,serverFiltering:
我在我的KendoGrid中使用过kendo Auto Complete,
它现在工作正常,但它只搜索或从一列中获取数据, 我想让它搜索多个列. 这是我在KendoGrid中的自动完成代码. $(function(){ $("#EmployeeGrid").kendoGrid({ dataSource:{ serverPaging: true,serverFiltering: true,pageSize: 5,transport: { read: "<?php echo base_url() ?>index.php/hr_management/manage_hr/list_view" },schema:{ data: "data",total: "total" } },toolbar: kendo.template($("#toolbarTemplate").html()),pageable: { input:true,numeric:false },columns: [ { field: "EmployeeID",hidden:true },{ field: "FileNo",title: "File Number" },{ template:"#= FirstName # #= LastName #",title: "Full Name" },{ field:"City",title:"City" },{ field:"AddressLine1",title:"Address 1" },{ field:"WorkPhone",title:"WorkPhone" },{ field:"MobileNo",title:"Mobile No" },{command: { text: "View",click: showDetails },title: " ",width: "140px"},{command: { text: "Edit",click: EditUserDetails },width: "140px"} ] }); }); var autoCompleteUsers = $("#employees").kendoAutoComplete({ minLength: 3,dataTextField: "FileNo",dataSource: { serverFiltering: true,transport: { read: { type: "GET",dataType: "json",contentType:'application/json; charset=utf-8',url: "<?php echo base_url() ?>index.php/hr_management/manage_hr/search_employee/",data: function (arg){ return {FileNo : autoCompleteUsers.data("kendoAutoComplete").value()}; } } } },change: onChangeAutoComplete }); function onChangeAutoComplete(){ var value = this.value(); var grid = $('#EmployeeGrid'); if (value) { grid.data("kendoGrid").dataSource.filter({ field: "FileNo",operator: "Contains",value: value }); } else { grid.data("kendoGrid").dataSource.filter({}); } } function showDetails(e) { e.preventDefault(); $('.action_button').html(''); var row = $(e.target).closest("tr"); var item = $("#EmployeeGrid").data("kendoGrid").dataItem(row); $.ajax({ type: "POST",url: "<?php echo base_url().'index.php/hr_management/manage_hr/view_employee_profile/'?>"+JSON.parse(item.EmployeeID),success: function(output_string){ var data = output_string.split("MyMark_Employee"); $('.second_column_content_container').html(data[0]); $('.action_button').html(data[1]); $("#createEmployee").hide(); },error: function(data){ alert("error"); } }); } function EditUserDetails(e) { e.preventDefault(); $('.action_button').html(''); var row = $(e.target).closest("tr"); var item = $("#EmployeeGrid").data("kendoGrid").dataItem(row); $.ajax({ type: "POST",url: "<?php echo base_url().'index.php/hr_management/manage_hr/edit_employee_details/'?>"+JSON.parse(item.EmployeeID),success: function(output_string){ var data = output_string.split("MyMark_Employee"); $('.second_column_content_container').html(data[0]); if(data[1]!= " ") { $('.action_button').html(data[1]); } },error: function(data){ alert("error"); } }); } 该怎么办? 解决方法
好问题.我想知道同样的事情.
在查看Kendo代码(kendo.web.min.js)之后,看起来不可能为属性dataTextField定义多个字段.看起来只允许一个字段. 解决方法是在模型中添加一个字段,该字段包含(以字符串形式)要搜索的所有字段.然后将dataTextField设置为该字段.它不是一个理想的解决方案,但它确实有效. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |