我有一个json对象如下:
var subaccounts = [
{
"name": "account 12200002 inc",
"id": "3e55979f46304334b1de3b17fe0942d7",
"billingContactInfo": {
"country": "USA",
"email": "pooja687236.wagh@neustar.biz",
"firstName": "poojas",
"lastName": "wagh",
"address1": "1234 asdf",
"address2": "",
"city": "mountain view",
"phone": "",
"postalCode": "95035",
"stateOrProvince": "CA",
"fax": ""
}
} ]
对于自动完成,我尝试了这个:
selectedSubAccount = _.each(subaccounts, function(account) {
return account.name
}); // to get the account name in the input field
$( "#autocomplete" ).autocomplete({
source: selectedSubAccount[0].name
});
下面是html:
<input id="autocomplete" placeholder = "search">
但是当我输入输入字段时,它会给我这个错误:
GET http://home.stagingwpm.neustar.biz/account%2012200002%20inc?term=a 404 (Not Found)
我不确定这是否是执行自动完成的正确方法: 谁有任何想法?拜托,谢谢!
EDIT :::::
我的selectedSubAccount给了我以下o / p。
所以我的“name”和“id”字段位于“billingContactInfo”之下。我怎样才能使它成为一个只包含我的名字的数组source: selectedSubAccount
:?
由于
答案 0 :(得分:1)
根据Autocomplete Widget API Documentation:
字符串:使用字符串时,自动填充插件需要该字符串指向将返回JSON数据的URL资源。它可以位于同一主机上或在另一个(必须提供JSONP)。自动完成插件不会过滤结果,而是使用术语字段添加查询字符串,服务器端脚本应使用该字段来过滤结果。例如,如果
source
选项设置为"http://example.com"
而用户键入foo
,则会向http://example.com?term=foo
发出GET请求。数据本身的格式与上述本地数据的格式相同。
在您的示例中,source是字符串类型,因此它希望它是一个返回JSON的URL。但是,您的变量selectedSubAccount
应该是仅包含名称的数组(您在_.each
- 循环中指定它),因此应该是有效的来源。因此,请尝试使用以下源代码:
source: selectedSubAccount