I have a problem about Autocomplete textbox.I'm using autocomplete textbox within update panel in asp.net.It has a big program after postback but I solved this problem. Hovewer I couldn't set selected values to autocomplete textbox.
$(document).ready(function () {
jQueryInit();
});
function pageLoad() {
window.Sys.WebForms.PageRequestManager.getInstance().add_endRequest(jQueryInit);
$(function () {
if (AutoCompleteObject != null && AutoCompleteObject != "undefined"
&& AutoCompleteObject.AutoComplete != null
&& AutoCompleteObject.AutoComplete != "undefined") {
var result = "";
for (var key in AutoCompleteObject.AutoComplete) {
var script = AutoCompleteObject.AutoComplete[key];
result += script.ID + ", ";
$('#user_id').append(script.ID + ' ,');
}
I should write this area but what ?
}
});
}
function jQueryInit() {
function split(val) {
return val.split(/,\s*/);
}
function extractLast(term) {
return split(term).pop();
}
$("#tags")
.bind("keydown", function (event) {
if (event.keyCode === $.ui.keyCode.TAB &&
$(this).data("autocomplete").menu.active) {
event.preventDefault();
}
})
.autocomplete({
minLength: 0,
source: function (request, response) {
$.ajax({
url: "UsersHandler.ashx",
dataType: "json",
data: { term: extractLast(request.term) },
success: function (data) {
response($.map(data, function (item) {
return { label: item.name, id: item.id };
}));
}
});
},
focus: function () {
return false;
},
select: function (event, ui) {
var terms = split(this.value);
terms.pop();
terms.push(ui.item.value);
terms.push("");
this.value = terms.join(", ");
$('#user_id').append(ui.item.id + ' ,');
AutoCompleteObject.AutoComplete.push({ "Name": ui.item.value, "ID": ui.item.id });
return false;
}
});
}