1

データを取得した後、JSON を使用してリストに要素を追加しています。次の操作を行います。

success: function(data){          
  var list = $('#' + HTMLfieldName[index] + 'Ul');
  $.each(data, function() {
    newLi = document.createElement('li');
    ref = document.createElement('a');
    ref.innerHTML = this.description;
    ref.href = '#' + this.code;
    newLi.appendChild(ref);
   list.append(newLi);
   });          
}

これは問題なく動作しますが、リスト内の要素は、リストビューの例で使用されている素敵な CSS ではなく、通常の href ( blue と underscore ) として表示されます。

レンダリング後のコードは次のようになります。

<ul class="levelUl ui-listview ui-listview-inset ui-corner-all ui-shadow" data-role="listview" data-inset="true" name="famUl" id="famUl">
  <li><a href="#2930">Finishing</a></li>
  <li><a href="#2910">Speciality Printing</a></li>
  <li><a href="#2900">Toner</a></li>
</ul>

そのコードを HTML ページに貼り付けると、問題なく表示されます。

CSS をページに追加した後、CSS を適用するために何かを実行する必要がありますか?

4

1 に答える 1

2

次を使用して、動的に追加されたリストビュー要素でマークアップ拡張をトリガーする必要があります。

$('ul#id').listview('refresh'):

実際の例: http://jsfiddle.net/Gajotres/LrAyE/

基本的に、コードは次のようになります。

success: function(data){          
    var list = $('#' + HTMLfieldName[index] + 'Ul');
    $.each(data, function() {
        newLi = document.createElement('li');
        ref = document.createElement('a');
        ref.innerHTML = this.description;
        ref.href = '#' + this.code;
        newLi.appendChild(ref);
        list.append(newLi);
    });
    list.listview('refresh');    
}

そして、ループ.listview('refresh');の後に呼び出す必要があることを覚えておいてください。each

詳細については、私の他の記事を読むか、ここで見つけてください

于 2013-03-28T10:28:07.293 に答える