Я создал веб-службу, которая в основном представляет собой набор значений json для набора действий в моем приложении. Идея состоит в том, что она вернет из коллекции MongoDB набор ключей/значений. До сих пор возвращаемое значение несколько напоминает:JSON Autocomplete ASP.NET JQuery UI
{"d":"[{\"label\":\"Add A Customer\",\"value\":\"\/EdCustomer\/\"},{\"label\":\"View Suppliers\",\"value\":\"\/Suppliers\/\"},{\"label\":\"Add A Customer\",\"value\":\"\/EdCustomer\/\"}]"}
У меня есть следующие Javascript/JQuery, чтобы сделать эту работу с автозаполнения, которая является частью JQuery UI:
var commands;
var commandstest = [
{
value: "test1",
label: "test1"
},
{
value: "test2",
label: "test2"
}
];
$(document).ready(function() {
//The search button
$("#btnCmdSearch")
.button()
.click(function() {
alert("You searched for " + txtSearch.value);
});
$.ajax({
url: "http://localhost:50305/SearchCommands.svc/GetCommands",
dataFilter: function (data) {
var msg = eval('(' + data + ')');
if (msg.hasOwnProperty('d'))
return msg.d;
else
return msg;
},
success: function (data) {
commands = data;
}
});
//The search Box AutoComplete...
$("#txtSearch").autocomplete({
source:commands,
minLength: 2,
});
});
Что интересно, когда Я использую commandstest в источнике метода автозаполнения, он работает так, как ожидалось. Если я использую команды (массив json), ничего не происходит. Я посмотрел в хроме и я получаю сообщение об ошибке:
Uncaught TypeError: Property 'source' of object #<Object> is not a function
Если изменить декларацию вар команд в:
var commands = new Array();
Тогда это сообщение об ошибке не появляется, но до сих пор ничего не происходит с автозаполнения. Что я делаю неправильно?
Вы являетесь гением. Большое спасибо. –