有人试图在jqGrid中显示jQueryUIAutoComplete的结果吗?

有人试图在jqGrid中显示jQueryUIAutoComplete的结果吗?,jquery,jqgrid,jquery-ui-autocomplete,Jquery,Jqgrid,Jquery Ui Autocomplete,我在不同的情况下使用过jquery UI自动完成功能。 我对结果进行了定制,并逐渐爱上了它。 现在我想将其与jqGrid结合使用。 基本上,我希望用户在文本框中插入一些文本,当他/她这样做时,jqgrid加载数据。 我知道我可以创建自己的jquery插件并获得相同的结果,但是,也许有人已经完成了我想要得到的 谢谢为什么不将jqGrid绑定到自动完成源的回调函数中的数据对象呢。下面我有一个文本框供某人搜索用户。它对名为SearchUsers的WCF wervice进行ajax调用。在ajax调用成

我在不同的情况下使用过jquery UI自动完成功能。
我对结果进行了定制,并逐渐爱上了它。
现在我想将其与jqGrid结合使用。
基本上,我希望用户在文本框中插入一些文本,当他/她这样做时,jqgrid加载数据。 我知道我可以创建自己的jquery插件并获得相同的结果,但是,也许有人已经完成了我想要得到的


谢谢

为什么不将jqGrid绑定到自动完成源的回调函数中的数据对象呢。下面我有一个文本框供某人搜索用户。它对名为SearchUsers的WCF wervice进行ajax调用。在ajax调用成功时,调用“function(data)…”并返回“data”

//create the userlistautocomplete
$("#txtSearchUsers").autocomplete({
    source: function (request, response) {
        SecurityAjax.SearchUsers(request.term, function (data) {
            $("#usersList").jqGrid('clearGridData');
            gridData = data;
            $("#usersList").setGridParam({ data: gridData });
            $("#usersList").trigger("reloadGrid");
        });
    },
    minLength: 2,
    open: function () {
        $(this).removeClass("ui-corner-all").addClass("ui-corner-top");
    },
    close: function () {
        $(this).removeClass("ui-corner-top").addClass("ui-corner-all");
    }
}).data("autocomplete")._renderItem = function (ul, item) {
    return $("<li></li>").data("item.autocomplete", item).append("<a>" + item.FirstName + "<br>" + item.LastName + "</a>").appendTo(ul);
};

为什么不将jqGrid绑定到自动完成源的回调函数中的数据对象呢。下面我有一个文本框供某人搜索用户。它对名为SearchUsers的WCF wervice进行ajax调用。在ajax调用成功时,调用“function(data)…”并返回“data”

//create the userlistautocomplete
$("#txtSearchUsers").autocomplete({
    source: function (request, response) {
        SecurityAjax.SearchUsers(request.term, function (data) {
            $("#usersList").jqGrid('clearGridData');
            gridData = data;
            $("#usersList").setGridParam({ data: gridData });
            $("#usersList").trigger("reloadGrid");
        });
    },
    minLength: 2,
    open: function () {
        $(this).removeClass("ui-corner-all").addClass("ui-corner-top");
    },
    close: function () {
        $(this).removeClass("ui-corner-top").addClass("ui-corner-all");
    }
}).data("autocomplete")._renderItem = function (ul, item) {
    return $("<li></li>").data("item.autocomplete", item).append("<a>" + item.FirstName + "<br>" + item.LastName + "</a>").appendTo(ul);
};
让我走对路。
如果有人感兴趣:

var myGrid = jQuery("#MyGrid");

LoadSearchGrid([{}]);

$("#MySearch").autocomplete({
    minLength: 3,
    delay: 300,
    source: function(request, response) {
        $.ajax({
            url: '<%=Url.Action("FetchData", "Home")%>',
            data: { Search: request.term },
            dataType: "json",
            type: "POST",
            success: function(data) {
                myGrid.jqGrid('clearGridData');
                myGrid.setGridParam({ data: data });
                myGrid.trigger("reloadGrid");
            }
        });
    }
});

function LoadSearchGrid(gridData) {
    myGrid.jqGrid({
        data: gridData,
        datatype: "local",
        colNames: ['Code', 'Description'],
        colModel: [
        { name: 'Code', index: 'Code', sortable: true, width: 50, align: 'left' },
        { name: 'Description', index: 'Description', sortable: true, width: 250, align: 'left' }
        ],
        width: 300,
        height: 170
    });
}
var myGrid=jQuery(“myGrid”);
LoadSearchGrid([{}]);
$(“#我的搜索”).autocomplete({
最小长度:3,
延误:300,
来源:功能(请求、响应){
$.ajax({
url:“”,
数据:{Search:request.term},
数据类型:“json”,
类型:“POST”,
成功:功能(数据){
jqGrid(“clearGridData”);
setGridParam({data:data});
触发器(“重新加载网格”);
}
});
}
});
函数LoadSearchGrid(gridData){
myGrid.jqGrid({
数据:网格数据,
数据类型:“本地”,
colNames:['Code','Description'],
colModel:[
{name:'Code',index:'Code',sortable:true,width:50,align:'left'},
{name:'Description',index:'Description',sortable:true,width:250,align:'left'}
],
宽度:300,
身高:170
});
}
让我走上正确的道路。
如果有人感兴趣:

var myGrid = jQuery("#MyGrid");

LoadSearchGrid([{}]);

$("#MySearch").autocomplete({
    minLength: 3,
    delay: 300,
    source: function(request, response) {
        $.ajax({
            url: '<%=Url.Action("FetchData", "Home")%>',
            data: { Search: request.term },
            dataType: "json",
            type: "POST",
            success: function(data) {
                myGrid.jqGrid('clearGridData');
                myGrid.setGridParam({ data: data });
                myGrid.trigger("reloadGrid");
            }
        });
    }
});

function LoadSearchGrid(gridData) {
    myGrid.jqGrid({
        data: gridData,
        datatype: "local",
        colNames: ['Code', 'Description'],
        colModel: [
        { name: 'Code', index: 'Code', sortable: true, width: 50, align: 'left' },
        { name: 'Description', index: 'Description', sortable: true, width: 250, align: 'left' }
        ],
        width: 300,
        height: 170
    });
}
var myGrid=jQuery(“myGrid”);
LoadSearchGrid([{}]);
$(“#我的搜索”).autocomplete({
最小长度:3,
延误:300,
来源:功能(请求、响应){
$.ajax({
url:“”,
数据:{Search:request.term},
数据类型:“json”,
类型:“POST”,
成功:功能(数据){
jqGrid(“clearGridData”);
setGridParam({data:data});
触发器(“重新加载网格”);
}
});
}
});
函数LoadSearchGrid(gridData){
myGrid.jqGrid({
数据:网格数据,
数据类型:“本地”,
colNames:['Code','Description'],
colModel:[
{name:'Code',index:'Code',sortable:true,width:50,align:'left'},
{name:'Description',index:'Description',sortable:true,width:250,align:'left'}
],
宽度:300,
身高:170
});
}
pnumberAuto是:

function pnumberAuto(e) {
    $(e).autocomplete({
        source: '/Autocomplete/QuickSearchPN',
        delay:0
    })
}
控制器是:

 public ActionResult QuickSearchPN(string term)
        {
            var q = (from p in db.BOM
                     where p.PNumber.Contains(term)
                     select p.PNumber).Distinct().Take(10);
            return Json(q, JsonRequestBehavior.AllowGet);
        }
我想这可以帮你。谢谢

pnumberAuto是:

function pnumberAuto(e) {
    $(e).autocomplete({
        source: '/Autocomplete/QuickSearchPN',
        delay:0
    })
}
控制器是:

 public ActionResult QuickSearchPN(string term)
        {
            var q = (from p in db.BOM
                     where p.PNumber.Contains(term)
                     select p.PNumber).Distinct().Take(10);
            return Json(q, JsonRequestBehavior.AllowGet);
        }

我想这会对你有所帮助。谢谢。

@LeftyX:我知道你的代码和我在这里写的差不多。唯一不同的是你在使用AJAX。我想我的答案应该是正确的,因为在你的问题中,你没有要求指定AJAX调用。@LeftyX:我看到你的代码和我在这里写的差不多。唯一不同的是你在使用AJAX。我想我的答案应该是正确的,因为在您的问题中,您没有要求指定AJAX调用。