使用jquery从xml获取数据到html

时间:2012-04-21 12:26:36

标签: jquery html

我使用jquery从XML获取数据到html,我构建了一个完美运行的函数,如下所示

function parseXml(xml){
    xmlcontent = xml;
    $('#file').html('$'+ GetDeals('delhi','india'));
    $('#file1').html('$'+ GetDeals('mumbai','india'));
    $('#file2').html('$'+ GetDeals('kolkata','india'));    
}

function GetDeals(state, country){
    var lowestPrice=0;    
    $(xmlcontent).find("ndata[nstate='"+state+"'][ncountry='"+ country +"']").each(function(){
        lowestPrice =  parseInt($(this).attr('price')) ;
    });
    return lowestPrice;    
}

现在我想从xml中选择另外一个字段调用例如第一个参数包含cityrating = 1,第二个cityrating = 2,最后一个是3并且我在新div中得到它,我几乎与它斗争3小时但它不起作用我的改变功能如下。当我运行这个功能城市化取代最后一个城市化,例如所有参数城市化取代3

function parseXml(xml){
    xmlcontent = xml;
    $('#file').html('$'+ GetDeals('delhi','india'));
    $('#file1').html('$'+ GetDeals('mumbai','india'));
    $('#file2').html('$'+ GetDeals('kolkata','india'));    
}

function GetDeals(state, country){
    var lowestPrice=0;
    var cityRating=[];

    $(xmlcontent).find("ndata[nstate='"+state+"'][ncountry='"+ country +"']").each(function(){
        lowestPrice =  parseInt($(this).attr('price'));
        cityRating.push(parseInt($(this).attr('CityRating')));
        $('.city').html(cityRating[0])
    });
    return lowestPrice;    
}

// my html

<div id="file"></div>
<div class="city"></div>

<div id="file1"></div>
<div class="city"></div>

<div id="file2"></div>
<div class="city"></div>

1 个答案:

答案 0 :(得分:2)

我看到你正在尝试找到一个不存在的类city的元素。

应该是$('#city').html(cityRating[0])而不是$('.city').html(cityRating[0])