0

您好,我正在使用这个 js 来传递 url 参数,它工作得很好,但我的问题是,当我定义 JSON 文件的路径时,我不想使用项目的 id...我想使用另一个 ID。例如:我有以下物品:

 {"id":"1",
"name":"Winery",
"street":"Chile",
"number":"898",
"phone":"4204040",
"mail":"winery@hotmail.com",
"web":"www.winery.com",
"lat":"-32.891638",
"long":"-68.846522",
"id_localidad":"1",
"id_provincia":"1"}

我想将 id_localidad 放在路径的末尾,以根据城市生成列表视图(id_localidad 是商店所在城市的 id),而不是商品的 id。这对我不起作用。

提前致谢!

JS文件

 $('#PuntosDeVenta').live('pageshow',function(event){


 var id =  getUrlVars()["id"];


 $.getJSON('http://localhost/CavaOnline/json_PuntosDeVentas.php?id_localidad='+id,  function(vinerias) {
 //THIS IS NOT WORKING, IS THE SAME AS PUTTING id, not id_localidad

 $.each(vinerias, function(index, vineria) {

    $('#listviewVinerias').append( '<li><a href="FichaTecnicaVineria.php?id=' + vineria[id - 1].id + '" > ' +
                '<img src="pics/' + vineria[id - 1].img_url1 + '"/>' +
                '<h4>' + vineria[id - 1].name+'</h4>' +
                '<p>' + vineria[id - 1].street+ ' ' + vineria[id - 1].number+ '</p>' +
                '</a></li>');

    $('#listviewVinerias').listview('refresh') 

  });

 });

});

function getUrlVars() {

var vars = [], hash;

var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');

for(var i = 0; i < hashes.length; i++)

{

    hash = hashes[i].split('=');

    vars.push(hash[0]);

    vars[hash[0]] = hash[1];

}

return vars;

}

我加载列表的 div

 <div data-role="content">

 <ul id="listviewVinerias" data-role="listview"></ul>

 </div>
4

1 回答 1

0

所以我假设你vinerias是一个包含 JSON 对象列表的变量,即使我不知道你为什么[id-1]到处打电话。如果是这样,您可以使用该.filter()函数过滤掉 id_localidad 等于指定值的元素。

var filteredVinerias = vinerias.filter(function(index){
    return this["id_localidad"] === "1" //The localidad you want
});
于 2012-09-29T10:07:13.810 回答