Javascript Jquery在选择事件时自动完成
我正在使用jqueryautocomplete,它工作正常,现在我想在出现以下情况时在jQuery的会话中存储一个变量 当有人键入任何单词时,如果有人从建议下拉列表中选择一个项目,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:
$(".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