我有一个Jquery函数,可以在您键入(从活动目录中获取(时显示一个下拉列表,我希望当您单击这些下拉选项之一时,它重定向到新页面。除了选择事件之外,一切都有效,对我的错误有什么想法吗?
$(document).ready(function () {
$("#searchName").autocomplete({
source: function (request, response) {
$("#loadingImg").show();
$.ajax({
url: "/Home/SearchUserWhileTyping",
type: "GET",
data: { name: $("#searchName").val() },
contentType: "application/json;charset=utf-8",
dataType: "json",
success: function (data) {
response($.map(data, function (item) {
//alert(item.distinguishedName);
return {
label: item.displayName
}
}));
},
complete: function () {
$("#loadingImg").hide();
},
select: function (event, ui) {
alert(ui.item.distinguishedName);
var link = '@Url.Action("ShowUserInfo", "Home", new { distinguishedName = "value"})';
link = link.replace("value", ui.item.distinguishedName);
window.location.href = link;
//window.location.href = Url.ActionLink("Test", "ShowUserInfo", "Home", new {distinguishedName = ui.item.distinguishedName});
}
});
},
minLength: 4
})
});
此外,distinguished Name 和 displayName 是我的模型类 ADProperties 的属性,其中包含 Active Directory 用户的属性。
感谢您的帮助
最后,对
我有用的是使用变量来检索我想要的值。还进行了Taplar建议的修复:
$(document).ready(function () {
var distName = [];
var dispName = [];
$("#searchName").autocomplete({
source: function (request, response) {
$("#loadingImg").show();
$.ajax({
url: "/Home/SearchUserWhileTyping",
type: "GET",
data: { name: $("#searchName").val() },
contentType: "application/json;charset=utf-8",
dataType: "json",
success: function (data) {
response($.map(data, function (item) {
distName[item.displayName] = item.distinguishedName;
//distName.push(item.distinguishedName);
dispName.push(item.displayName);
return {
label: item.displayName
}
}));
},
complete: function () {
$("#loadingImg").hide();
}
});
},
select: function (event, ui) {
var res;
var index = 0;
alert(ui.item.label);
$.each(dispName, function (key, value) {
if (ui.item.label == value)
res = distName[value];
});
//alert(disName.distinguishedName);
var link = '@Url.Action("ShowUserInfo", "Home", new { distinguishedName = "value"})';
link = link.replace("value", res);
window.location.href = link;
//window.location.href = Url.ActionLink("Test", "ShowUserInfo", "Home", new {distinguishedName = ui.item.distinguishedName});
},
minLength: 4
})
});