Jquery ui 有趣的是:使用jqgrid实现jquery自动完成,而不覆盖令人兴奋的搜索选项

Jquery ui 有趣的是:使用jqgrid实现jquery自动完成,而不覆盖令人兴奋的搜索选项,jquery-ui,search,jqgrid,jquery-autocomplete,Jquery Ui,Search,Jqgrid,Jquery Autocomplete,奥列格-你在这里吗 我使用的是jqGrid,我是否根据类型在colModel中设置了搜索选项 像这样: var columnModel = [{ name: 'ID', index: 'ID', sortable: true,searchoptions: { sopt: ['gt']}}, { name: 'FirstName', index: 'FirstName', sortable: true, searchoptions: { sopt: ['cn']} }, { name: 'Last

奥列格-你在这里吗

我使用的是jqGrid,我是否根据类型在colModel中设置了搜索选项

像这样:

var columnModel = [{ name: 'ID', index: 'ID', sortable: true,searchoptions: { sopt: ['gt']}},
{ name: 'FirstName', index: 'FirstName', sortable: true, searchoptions: { sopt: ['cn']} },
{ name: 'LastName', index: 'LastName', sortable: true ,searchoptions: { sopt: ['ge']}}
];
现在,在加载网格后,我想使用fallowing代码将auticomplete添加到网格的搜索框中:

for (var i = 0; i < columnModel.length; i++) {
    var nameCol = columnModel[i].name;
    myGrid.jqGrid('setColProp', nameCol,
            {
                searchoptions: {
                    dataInit: function (elem) {
                        $(elem).autocomplete({
                            source: function (request, response) {
                                autoFillSearch(request, response, $(elem).attr('name'));
                            },
                            minLength: 1
                        });
                    }
                }
            });
}
myGrid.jqGrid('filterToolbar', { stringResult: true, searchOnEnter: true });
问题是新的colModels有第二次创建的搜索选项,没有我想要的特定“sopt”

我想知道有没有办法改变第二个searchoption,从而从原来的colMadel中获得“sopt”选项


提前谢谢。

答案是:

for (var i = 0; i < columnModel.length; i++) {
    var nameCol = columnModel[i].name;
    var soptOption = columnModel[i].searchoptions.sopt;
    myGrid.jqGrid('setColProp', nameCol,
                {
                    searchoptions: {
                        sopt: soptOption,
                        dataInit: function (elem) {
                            $(elem).autocomplete({
                                source: function (request, response) {
                                    autoFillSearch(request, response, $(elem).attr('name'));
                                },
                                minLength: 1
                            });
                        }
                    }
                });
}
for(var i=0;i
for (var i = 0; i < columnModel.length; i++) {
    var nameCol = columnModel[i].name;
    var soptOption = columnModel[i].searchoptions.sopt;
    myGrid.jqGrid('setColProp', nameCol,
                {
                    searchoptions: {
                        sopt: soptOption,
                        dataInit: function (elem) {
                            $(elem).autocomplete({
                                source: function (request, response) {
                                    autoFillSearch(request, response, $(elem).attr('name'));
                                },
                                minLength: 1
                            });
                        }
                    }
                });
}