加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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");
        }
    });

}

该怎么办?
我需要定义多个dataTextField:?
需要建议.

解决方法

好问题.我想知道同样的事情.

在查看Kendo代码(kendo.web.min.js)之后,看起来不可能为属性dataTextField定义多个字段.看起来只允许一个字段.

解决方法是在模型中添加一个字段,该字段包含(以字符串形式)要搜索的所有字段.然后将dataTextField设置为该字段.它不是一个理想的解决方案,但它确实有效.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读