我正在WordPress中构建自定义商店定位器。
我正在尝试过滤一些属性值与af变量匹配的JSON对象。
我有一个由WordPress生成的导航栏:
<ul id="store_list">
<a class="cat-item" href="#">Denmark</a>
<a class="cat-item" href="#">Austria</a>
<a class="cat-item" href="#">Germany</a>
</ul>
JSON是:
var jsonStr = '[{'title': 'Jeans Store DK', 'country': 'Denmark'}, {'title': 'Footwear', 'country': 'Austria'}, {'title': 'Accessories', 'country': 'Australia'}]'
当我点击导航中的链接时,我不想抓住例如“丹麦”并搜索JSON中“country”为“Denmark”的每个商店。然后我不想把它输出到带有.post-excerpt类的div。到目前为止我已经:
$(document).ready(function(){
$('#store_list .cat-item').click(function(e){
e.preventDefault();
var loc = $(this).text();
var json = JSON.parse(jsonStr);
var map_data = $.grep( json, function( n, i ) {
return n.country === loc;
});
$('.post-excerpt').text(JSON.stringify(map_data));
});
});
问题是它只返回“[]”,但如果我设置var loc =“Denmark”,则代码可以正常工作。所以我无法弄清楚将loc变量解析为grep函数。
感谢。