0
我已經創建了一個基本上是我的應用程序中的一組操作值的json集合的Web服務。這個想法是它將從MongoDB Collection返回一組鍵/值。到目前爲止,返回值是有點像:JSON自動完成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用戶界面的一部分自動完成:
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數組),則什麼都不會發生。我看着在Chrome和我得到的錯誤:
Uncaught TypeError: Property 'source' of object #<Object> is not a function
如果我改變VAR的聲明命令:
var commands = new Array();
然後此錯誤消息沒有出現,但仍然沒有與自動完成情況。我究竟做錯了什麼?
你是一個真正的人。非常感謝。 – 2012-04-15 17:26:21