选择XML属性并弹出到表中

时间:2015-06-19 12:53:48

标签: jquery html ajax xml

我想创建一个按钮,用户可以选择过滤他们想要的商店并在表格中查看结果。例如,选择状态属性等于A的XML行。但是没有返回,请告知是否有任何语法有问题。感谢。

<markers>
<marker name="Store A" address="1 ABC street" state="A" phone="1234567"  />
<marker name="Store B" address="2 ABC street" state="B" phone="1234567"  />
<marker name="Store C" address="3 ABC street" state="A" phone="1234567"  />

<input type='button' name='select1' value="A" onClick="changeFilter(this.value);">

function changeFilter(ctry){
$country=ctry;              
$(".datarow").remove();     
loadTable($xmldata);        
}


function loadTable(data){
$xmldata=data;                  
$(data).find("marker[state=" + ctry + "]").each(function(){ 

    var $this=$(this);                          
    var $name=$this.find('marker[name]').text();    
    var $tel=$this.find('marker[phone]').text();    
    var $country=$this.find('marker[address]').text();  

    $("#datatable").append("<tr class='datarow'><td>"+$name+"</td><td>"+$tel+"</td><td>"+$country+"</td></tr>"); 
}); 
}

1 个答案:

答案 0 :(得分:1)

您需要使用.attr() get方法来获取属性值。

$("div").find("marker[state=" + ctry + "]").each(function(){ 
 var $this=$(this);    
    var $name=$this.attr("name");    
    var $tel=$this.attr("phone");    
    var $country=$this.attr("address");  

}); 

Fiddle