2012-05-08 18 views
1

我想通过结果'循环'像下面的HTML使用JavaScript设置。 (在Javascript中解析XML)但是我无法确定如何一次循环多个变量。基本上我一直在姓氏循环和循环在一行。在jQuery中的ASP样式中继器

<div class="files-box"> 
     <img class="replace-2x file-image" width="32" src="images/files/doc.png" alt="img"> 
      <p class="file-title" id="list">[SURNAME]</p> 
      <a href="#" class="file-href file-open">[PHONE NUMBER]</a> 
      <a href="#" class="file-href">[CALLLINK]</a>  
      <div class="clear"></div> 
      </div> 
    </div> 

这里是我的Javascript

function onDeviceReady() 
    { 

     $.ajax({ 
       type: 'GET', 
       url: 'Lookupbysurname.aspx?surname=beech', 
       dataType: 'xml', 
       success: function(xmlDoc) { 
       var $xml = $(xmlDoc); 
       $xml.find('Surname').each(function() { 
              $("#list").append($(this).text()); 
              }); 
       } 
       }); 

    } 

    </script> 

基本上我通过XML结果(姓,电话号码和callink)试图回路上与[SURNAME重新创建每次上面的html ]等变量由正确的结果取代。这将在PhoneGap的应用

编辑:下面的要求是XML布局

<Results> 
    <Result> 
     <FirstName>Tom</FirstName> 
     <Surname>Bedh</Surname> 
     <Company>Company INC/Company> 
     <Job_Title>Test Title</Job_Title> 
     <callID>10582</callID> 
     <CompanyID>10001</CompanyID> 
    </Result> 
</Results> 

继承人是什么让在当前布局发生

enter image description here

+0

请张贴一个示例XML文档。 – Blazemonger

+0

我已经添加了我的XML – TMB87

回答

0

尝试这样的事情。首先,你需要改变你的HTML结构:

<div id="container"> 
<div class="files-box"> 
    <img class="replace-2x file-image" width="32" src="images/files/doc.png" alt="img"> 
    <p class="file-title surname">[SURNAME]</p> 
    <a href="#" class="file-href file-open phone-number">[PHONE NUMBER]</a> 
    <a href="#" class="file-href call-link">[CALLLINK]</a>  
    <div class="clear"></div> 
</div> 
</div> 
​ 

的jQuery:

var $block = $('#container .files-box').remove(); 

$xml.find('Result').each(function() { 
    var $result = $(this), 
     $myblock = $block.clone(); 

    $myblock.find(".surname").text($result.find('Surname').text()); 
    $myblock.find(".phone-number").text($result.find('Phone').text()); 
    $myblock.find(".call-link").text($result.find('callID').text()); 
    $('#container').append($myblock); 
});​ 

http://jsfiddle.net/mblase75/aKJYZ/

+0

感谢你这样做 - 但是这和我的代码有同样的问题,它有一行结果,我不知道如何复制每个结果的整个html块 – TMB87

+0

已更新的答案。您应该可以通过一些试验和错误来适应这个需求。 – Blazemonger

+0

非常感谢。我理解这个概念,但我似乎无法使其实际显示表格中的任何文字。在我的代码中添加的附件与您在自己的文本中有什么不同? – TMB87