У меня есть следующий скрипт, который, похоже, не работает. Страница aspx возвращает json, похожий на json в приведенном ниже скрипте, который был закомментирован. Если я вставлю этот JSON непосредственно в источник в виде массива, он отлично работает.
Но как только я пытаюсь использовать приведенный ниже сценарий, я не получаю сообщений об ошибках или чего-либо еще, ничего не происходит, когда я печатаю в поле автозаполнения.
$(document).ready(function(){
$('#button').click(function() {
alert($("#txtAllowSearchID").val());
});
//var $local_source = [ {id:0,value:"c++"}, {id:1,value:"java"}, {id:2,value:"php"}, {id:3,value:"coldfusion"}, {id:4,value:"javascript"}, {id:5,value:"asp"}, {id:6,value:"ruby"} ];
$("#txtAllowSearch").autocomplete({
source: function(request, response) {
$.ajax({
type: "POST",
url: "test_array.aspx",
data: "{'prefixText': '" + $('#txtAllowSearch').val() + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
response(data.d);
},
failure: function(errMsg) {
$('#errMessage').text(errMsg);
}
});
},
select: function (event, ui) {
$("#txtAllowSearch").val(ui.item.value); // display the selected text
$("#txtAllowSearchID").val(ui.item.id); // save selected id to hidden input
}
});
});
РЕДАКТИРОВАТЬ: Я думаю, что проблема в aspx странице:
objSQLCommand = New SqlCommand("select id, value from table1 where value like '%@prefixText%'", objSQLConnection)
objSQLCommand.Parameters.Add("@prefixText", SqlDbType.VarChar, 255).Value = "ing"