1

次のhtmlがjavascriptで設定されているように、結果を「ループ」しようとしています。(Javascript での XML の解析) しかし、一度に複数の変数をループする方法がわかりません。基本的に、姓のループとループを 1 行にまとめています。

 <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 の結果 (姓、電話番号、calllink) をループして、[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>

現在のレイアウトで起こっていることは次のとおりです

ここに画像の説明を入力

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 に答える