0

子タグをリストビューに表示したい。そのリストビューでは、親タグをリスト ディバイダーとして追加しています。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<page count="89" name="Sample">
  <sections>
    <section count="3" name="Alphabets" order="1">
      <content file="220993.txt" order="1">A</content>
      <content file="220994.txt" order="2">B</content>
      <content file="220995.txt" order="3">C</content>
    </section>
    <section count="5" name="Numbers" order="2">
      <content file="221006.txt" order="4">five</content>
      <content file="221007.txt" order="5">four</content>
      <content file="221008.txt" order="6">three</content>
      <content file="221009.txt" order="7">two</content>
      <content file="221010.txt" order="8">one</content>
    </section>
    <section count="2" name="Names" order="3">
      <content file="221013.txt" order="9">Sam</content>
      <content file="221014.txt" order="10">Sansha</content>
    </section>
  </sections>
</page>

コード:

$(xml).find('section').each(function () {
                var section = $(this).attr("name");
                var count = $(this).attr('count');
                var order = $(this).attr('order');
                $(this).children().each(function () {
                    var content = $(this).text();

                    var order = $(this).attr("order");
                    var seq = order + '' + $(this).attr('order');

                        $("#section_list").append('<li data-role="list-divider">' + section + '</li>');
                        $("#section_list").append('<li><a href="" class="style1" data-sequence="s' + seq + '" ><h2>' + content + ' </h2></a></li>');    
                        $("#section_list").listview('refresh');

                });
            });

この親タグのようにやっていると、すべての子に対して繰り返されます。

リスト分割器とともに。リストビューに各項目の説明を表示しています。ただし、これらの説明は各項目の関連ファイルからのものです。リストディバイダーと説明を含むリストビューを表示すると、問題が発生します。リストビューは、最初にすべてのディバイダーを組み合わせて、説明付きのリスト項目の下に表示する必要があります。説明付きでリストビューを正しく表示する方法。

http://jsfiddle.net/2YbT5/

前もって感謝します。

4

1 に答える 1

0

デモ

このコードを試してください..

$(xml).find('section').each(function () {
  var section = $(this).attr("name");
  var count = $(this).attr('count');
  var order = $(this).attr('order');
  $("#section_list").append('<li data-role="list-divider">' + section + '</li>');
  $(this).find('content ').each(function () {
     var content = $(this).text();
     var order = $(this).attr("order");
     var seq = order + '' + $(this).attr('order');
     $("#section_list").append('<li><a href="" class="style1" data-sequence="s' + seq + '"  ><h2>' + content + ' </h2></a></li>');    
     });
});
于 2013-08-29T10:27:01.957 に答える