选择事件上的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 ); }