1

JavaScriptコードによって作成されたリスト項目を持つリストビューがあります。コードを初めて実行すると、正常に動作します。2 回目に実行すると、リストが作成されて正常に動作しますが、jQuery Mobile のスタイルは失われています。他のスレッドを検索すると、次のコード行を別の場所で試してみましたが、役に立ちませんでした。

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

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

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

私のリストビューは、次のようにhtmlで宣言されています:

<div ID="myUL" class="nav">
    <ul data-role="listview" ID="ul"></ul>
</div>

次の JavaScript はリスト項目を作成します。

$.ajax( {
        async: 'false',
        type:'POST',
        url:'[redacted]',
        contentType: "text/xml",
        dataType: "xml",
        data: soapRequest,
        success:function processSuccess(data, status, req) {
  var returnString = $(req.responseXML).find("GetMyWebServiceResult").text().split("|");
  $("#ul").children().remove('li');
  for (var i = 0; i < length; i++) {
      var addressString = returnString[i].split(";");
      //create list item 
      var myList = document.getElementById("ul");
      var liSold = document.createElement("li");
      var aTag = document.createElement('a');
      aTag.innerHTML = addressString[0];
      aTag.setAttribute('onClick','somefunction(i)');
      aTag.setAttribute('data-transition','slide');
      liSold.appendChild(aTag);
      myList.appendChild(liSold);
  }
  $('#ul').listview('refresh');
},
error: function(e){
   alert('error 2: ' + e);

}

})

また、違いが生じる場合は、phonegap (cordova) アプリでこれを行っています。

EDIT追加の詳細:リストが再作成されると、ページdivはフォーカスされなくなります。また、js コード スニペットは、Web サービスが正常に使用されたときに呼び出される関数内にあります。

4

1 に答える 1

0

リストid.tryが間違っています

$('#myUL').listview('refresh');
于 2013-10-01T06:56:24.570 に答える