【问题标题】:jQuery Mobile listview styles not refreshing after emptying and dynamically recreating the list itemsjQuery Mobile listview 样式在清空和动态重新创建列表项后不刷新
【发布时间】:2013-08-13 19:31:56
【问题描述】:

我有一个列表视图,它的列表项由 javascript 代码创建。代码第一次运行时,它工作正常。第二次运行时,列表已创建并且工作正常,但 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) 应用程序中执行此操作,如果这有影响的话。

编辑附加细节: 重新创建列表时,页面 div 不再是焦点。另外,js代码sn-p位于一个函数中,当一个webservice被成功消费时调用。

【问题讨论】:

    标签: javascript jquery jquery-mobile mobile cordova


    【解决方案1】:

    list id.try 有问题

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-12
      • 1970-01-01
      • 2012-07-19
      • 1970-01-01
      • 2011-11-18
      • 1970-01-01
      • 1970-01-01
      • 2014-03-30
      相关资源
      最近更新 更多