JQuery 选择器 JSON
JQuery Selector with JSON
我正在尝试使用以下方法将我的 JSON 值检索到我的自动完成 table 行:
Javascript:
<script>
$(document).ready(function () {
var text2 = $("#Text2").tautocomplete({
width: "500px",
columns: ['id', 'title'],
ajax: {
url: "products.json",
type: "GET",
data: function () {
return [{ test: text2.searchdata() }];
},
success: function (data) {
var filterData = [];
var searchData = eval("/" + text2.searchdata() + "/gi");
$.each(data, function (i, v) {
if (v.products.search(new RegExp(searchData)) != -1) {
filterData.push(v);
}
});
return filterData;
}
},
onchange: function () {
$("#ta-txt").html(text2.text());
$("#ta-id").html(text2.id());
}
});
});
</script>
products.json:
{"products":[[{"id":"1","country":"Photobooks"},{"id":"2","country":"Cards"}]]}
我收到了这个错误:
TypeError: v.products 未定义
如有任何帮助或建议,我们将不胜感激。
鉴于变量 data
的 products.json returns,您的循环中没有 v.products
。 data.products
是一个数组,其中一个节点是您的结果数组。看一看:
{"products":
[
[
{
"id":"1",
"country":"Photobooks"
},
{
"id":"2",
"country":"Cards"
}
]
]
}
这将遍历这些结果
success: function (data) {
$.each(data.products[0], function (i, v) {
// etc
});
}
我正在尝试使用以下方法将我的 JSON 值检索到我的自动完成 table 行:
Javascript:
<script>
$(document).ready(function () {
var text2 = $("#Text2").tautocomplete({
width: "500px",
columns: ['id', 'title'],
ajax: {
url: "products.json",
type: "GET",
data: function () {
return [{ test: text2.searchdata() }];
},
success: function (data) {
var filterData = [];
var searchData = eval("/" + text2.searchdata() + "/gi");
$.each(data, function (i, v) {
if (v.products.search(new RegExp(searchData)) != -1) {
filterData.push(v);
}
});
return filterData;
}
},
onchange: function () {
$("#ta-txt").html(text2.text());
$("#ta-id").html(text2.id());
}
});
});
</script>
products.json:
{"products":[[{"id":"1","country":"Photobooks"},{"id":"2","country":"Cards"}]]}
我收到了这个错误: TypeError: v.products 未定义
如有任何帮助或建议,我们将不胜感激。
鉴于变量 data
的 products.json returns,您的循环中没有 v.products
。 data.products
是一个数组,其中一个节点是您的结果数组。看一看:
{"products":
[
[
{
"id":"1",
"country":"Photobooks"
},
{
"id":"2",
"country":"Cards"
}
]
]
}
这将遍历这些结果
success: function (data) {
$.each(data.products[0], function (i, v) {
// etc
});
}