Javascript Jquery在选择事件时自动完成

Javascript Jquery在选择事件时自动完成,javascript,jquery,asp.net-mvc,jquery-ui,jquery-ui-autocomplete,Javascript,Jquery,Asp.net Mvc,Jquery Ui,Jquery Ui Autocomplete,我正在使用jqueryautocomplete,它工作正常,现在我想在出现以下情况时在jQuery的会话中存储一个变量 当有人键入任何单词时,如果有人从建议下拉列表中选择一个项目,jQuery将显示建议下拉列表 我想捕获上述要点并在会话中存储一个变量 我搜索了谷歌,但没有找到相关的解决方案。我的自动完成代码如下: $(".autosearch-smart").autocomplete('Home/GetCompanyNames', { minChars: 1, width:

我正在使用jqueryautocomplete,它工作正常,现在我想在出现以下情况时在jQuery的会话中存储一个变量

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

我想捕获上述要点并在会话中存储一个变量

我搜索了谷歌,但没有找到相关的解决方案。我的自动完成代码如下:

  $(".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");
    }

});
编辑:选择事件处理程序也不工作


我将asp.net MVC3与C一起使用。请帮助我并提前感谢。

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

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

  $(".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 );
  }

检查您的错误控制台它显示了什么…?控制台中没有显示任何内容@Anant@smartboy你使用的jquery库是什么?我发布了一些关于自动完成的问题。你能检查一下并说明问题出在哪里吗?选择事件没有按照我在问题中告诉你的那样工作,我再试了一次,但没有成功。我想你不需要JsonRequestBehavior.AllowGet设置,因为它被过滤为HTTPPOSTIs可选JsonRequestBehavior.AllowGet