选择事件上的Jquery自动完成

我正在使用jQuery自动完成并且它工作正常,现在我想在发生以下情况时从jQuery在会话中存储变量。

当有人输入任何单词jQuery显示建议下拉列表时,如果有人从该建议下拉菜单中选择一个项目。

我想捕获上面的点并在会话中存储变量。

我搜索了Google,StackOverflow但没有找到相关的解决方案。 我的自动填充代码如下:

$(".autosearch-smart").autocomplete('Home/GetCompanyNames', { minChars: 1, width: 402, matchContains: "word", autoFill: true }); 

这就是我试图做的事情:

  $(".autosearch-smart").autocomplete('Home/GetCompanyNames', { minChars: 1, width: 402, matchContains: "word", autoFill: true, select: function (a, b) { alert("selected"); } }); 

编辑:选择事件处理程序也无法正常工作

我在C#中使用asp.net MVC3。 请帮助我,并提前感谢。

因此,如果我理解正确,您希望将所选值存储在变量会话中

您可以通过以下代码获取所选项目的值:

  $(".autosearch-smart").autocomplete('Home/GetCompanyNames', { minChars: 1, width: 402, matchContains: "word", autoFill: true, select: function (event, ui) { var label = ui.item.label; var value = ui.item.value; //store in session document.valueSelectedForAutocomplete = value } }); 

值和标签是来自服务器的json对象

希望这可以帮助

好吧,如果你想使用asp.net mvc3存储在会话中,请执行以下操作

 $(".autosearch-smart").autocomplete('Home/GetCompanyNames', { minChars: 1, width: 402, matchContains: "word", autoFill: true, select: function (event, ui) { //must be cleared with function parameter //alert(ui.item.label); //will show you the selected item $.ajax({ type: 'POST', url: '/Controller/Action1', //whatever any url data: {label: ui.item.label}, success: function(message) { if(message.data == true) ... else ... }, dataType: 'json' }); } }); 

和控制器

 [HttpPost] public JsonResult Action1( string label ) { this.Session["AnyValue"] = label; return Json( new { data = true }, JsonRequestBehavior.AllowGet ); }