У меня есть следующий скрипт, который, похоже, не работает. На странице aspx возвращается json, подобный json в скрипте ниже, который был прокомментирован. Если я прикреплю этот json непосредственно к источнику как массив, он отлично работает.автозаполнение с asp.net генерируется 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
}
});
});
EDIT: Я думаю, что проблема на странице ASPX:
objSQLCommand = New SqlCommand("select id, value from table1 where value like '%@prefixText%'", objSQLConnection)
objSQLCommand.Parameters.Add("@prefixText", SqlDbType.VarChar, 255).Value = "ing"
Если я просто использую e url, как описано выше, как отправить значение на страницу .aspx до того, как страница .aspx вернет данные json? – oshirowanen
Когда используется String, плагин Autocomplete ожидает, что строка укажет на ресурс URL, который будет возвращать данные JSON. Он может находиться на одном и том же хосте или на другом (должен предоставить JSONP). Параметр запроса «term» добавляется к этому URL-адресу. Сами данные могут быть в том же формате, что и локальные данные, описанные выше. - Таким образом, URL-адрес, который он на самом деле вызывает, - 'test_array.aspx? Term = whatevertyped' – Josh