1

我正在尝试“循环”通过结果,例如以下 html 是使用 javascript 设置的。(在 Javascript 中解析 XML)但我不知道如何一次循环遍历多个变量。基本上我一直有姓氏循环并在一行中循环。

 <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 结果(姓氏、电话号码和呼叫链接)并每次都重新创建上面的 html,并将 [SURNAME] 等变量替换为正确的结果。它在一个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>

这是当前布局中不断发生的事情

在此处输入图像描述

4

1 回答 1

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/

于 2012-05-08T21:11:24.953 回答