jQuery UI自动完成filter数据
我是jquery的新手,我被指派在选择项目后过滤掉列表。 有3个文本框使用自动完成function。
来源:苹果,橙子,芒果
textbox 1 = apple textbox 2 = apple应在列表中过滤掉。 它应该只显示橙色和芒果。
我能够过滤源,但列表仍然显示该项目。 但是一旦刷新页面,源就会更新。 我发现了这个问题,这是一个链接,但在我的情况下,而不是添加,我想过滤掉它。
任何帮助表示赞赏。
谢谢! ZEL
我会做什么…将第一个文本框的值传递回服务器(反之亦然,每个自动完成)
你可以尝试这样的事情。
JQuery的
$('#auto2_id').autocomplete({ source: function (request, response) { $.ajax({ url: 'some_url/SomeAction', dataType: "json", data: { term: request.term, filter: $('#auto1_id').val() }, success: function (data) { //do something } }) } });
服务器端 (不知道你正在使用什么语言。但在c#(粗略代码示例))
public ActionResult SomeAction(string term, string filter) { var data = _repo.GetAllCached().Where(o => o.Text != filter && o.Text.Contains(term)); return Json(data , JsonRequestBehavior.AllowGet); }
在每个文本框已更改事件上,您必须从列表中删除该项并调用该函数(从插件中)。 您必须一次调用所有这三个函数。