0

私は jQuery Mobile と一般的な jQuery を初めて使用し、問題に遭遇しました。2 つの AJAX 呼び出し (2 つのソースからのデータ) を使用してリストを作成しました。2 番目の呼び出しは最初の呼び出し内にあるため、常にその後に実行されます。呼び出しは、データのソースを除いて同一であり、次のとおりです。

HTML:

<ul data-role="listview" data-inset="true" data-theme="a" data-filter="true" id="allVideosList">  
    <li><a href="#">This item is styled properly</a></li>
</ul>

JavaScript:

var html = ""; 
var id = 0; 
var displayName = "name";
$.ajax({
    type:'GET',
    url: xxxx
    data: xxxx
    dataType: 'jsonp',
    success: function processResult(data) {
      ....
      html += '<li data-filtertext="' + resultData.name + ' ' + date + '"><a href="index.html?id=' + id + '">' + displayName + '</a></li>';
      $('#allVideosList').append(html);
});

変数は ajax 呼び出し内で定義されますが、ここでは省略されています。作成されたリストにはスタイルがなく、各項目がリンクとして表示されます。関数:

$('#allVideosList').listview('refresh');

また

$('#allVideosList').listview();

エラーを返します

$(...).listview関数ではありません

コンソールで。関数:

$('#allVideosList').trigger('create');

何も変更しません。

変数 html をコンソールに出力し、その内容をコピーして別のページのリストに追加すると、スタイルが適切に適用されます。例えば:

HTML:

<div data-role="content" id="list">
    <ul data-role="listview" data-inset="true" data-theme="a" data-filter="true" id="allVideosList">

    </ul>

JAVASCRIPT:

var html = "";
html = '<li data-filtertext="insert text here"><a href="index.html?id=146">Name</a></li><li data-filtertext="insert text here 2"><a href="index.html?id=147">Name 2</a></li>'
$("#allVideosList").append(html) 

正常に動作します。動的に読み込まれたリストにスタイルを適用するにはどうすればよいですか?

4

1 に答える 1

1

私は自分のプロジェクトの1つで非常に似たようなことをしています。私も同様の問題を抱えていましたが、これは現在私のために機能するコードです...

$("#myList").append(myjsonobject.someListItems).listview("refresh");

ご覧のとおり、append 呼び出しと同じ行に listview 関数呼び出しを追加できます。これ以上のコードがないと、これで問題が解決するかどうかを判断するのは困難です。

于 2013-07-11T19:21:39.087 に答える