Jquery 如何在KendoMuliselect文本框中添加值

Jquery 如何在KendoMuliselect文本框中添加值,jquery,kendo-ui,kendo-grid,kendo-multiselect,Jquery,Kendo Ui,Kendo Grid,Kendo Multiselect,我有一个表格说employeeGrid和 在网格的每一行中,我们都有编辑部分(编辑按钮) 单击编辑按钮,弹出窗口打开,其中有一个名为empAgent的Mulitiselect文本框 这是我的多选代码 var empAgentMultiSelect = $("#EmpID").kendoMultiSelect({ placeholder: "Select an agent id", dataTextField: "EMPID", dataValu

我有一个表格说employeeGrid和 在网格的每一行中,我们都有编辑部分(编辑按钮) 单击编辑按钮,弹出窗口打开,其中有一个名为empAgent的Mulitiselect文本框

这是我的多选代码

var empAgentMultiSelect =   $("#EmpID").kendoMultiSelect({
        placeholder: "Select an agent id",
        dataTextField: "EMPID",
        dataValueField: "EMPNAME",
        autoBind: true,
        dataSource: {
            serverFiltering: true,
            schema: {
                data: "results",
                total: "totalRecords"
            },
            transport: {
                dataType: "json",
                read: {
                    url: "/component/employee.cfc?method=getEmpInfo",
                    data: {
                        btAll       :1,
                        vcAccountID : 1233
                    }
                }
            }
        },
        dataBound:function(){
            var seValues = [];
            var empAgentMultiSelect = $("#EmpID").data("kendoMultiSelect");
            seValues = callAgent();
            empAgentMultiSelect.value(seValues);
    });
所以,当点击编辑打开弹出窗口时,我在下面添加代码,以在kendo Mulitselect文本框empAgent下写入数据

empAgent :function(){
 var empAgentMultiSelect = $("#EmpID").data("kendoMultiSelect");
 var agentValues = getAgentValues(result.results[0].empAgentID.toString());
 var agentValueArr = [];

 for(var index=0; index< agentValues.length; index++) {
       agentValueArr.push(agentValues[index].empAgentID.toString());
 }

empAgentMultiSelect .value(agentValueArr);
return result.results[0].empAgentID;
}
empAgent:function(){
var empAgentMultiSelect=$(“#EmpID”).data(“kendoMultiSelect”);
var agentValues=getAgentValues(result.results[0].empAgentID.toString());
var agentValueArr=[];
对于(var index=0;index
问题是 当我在multiselect文本框中写入数据时,它会加载getEmpInfo(),它提供2k+数据并使我的网格挂起


是否有任何方法可以在不调用getEmpInfo()的情况下在MultiSelect文本框中添加文本?

尝试设置小部件的minLength属性以消除大量返回的数据。将其设置为3或4,您应该表现良好。确保getEmpInfo()中的查询使用的是startswith。如果您使用LinQ,您可以说。Take(125)只返回125条记录。我可以在其中添加最小长度参数。但我不想在第一次打开弹出窗口时加载它。我只想在multiselect文本框中添加一些文本值,这些文本值是我从一些ajax调用响应中获得的,当前我在分配这些值时,getEmpInfo()正在调用。好的,它正在调用getEmpInfo,文本是否以空值的形式进入,这就是它返回所有记录并挂起的原因?如果是这种情况,就说如果text==null,不要运行查询