jQuery按变量过滤JSON

时间:2015-01-03 20:36:52

标签: javascript jquery json wordpress text

我正在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函数。

感谢。

0 个答案:

没有答案