0

拉動嘗試使用列表視圖的數據過濾器屬性,但它的工作就像一個普通的HTML列表視圖收到有關「刷新」的列表視圖 HTML代碼中的一些錯誤:顯示在列表視圖中的數據從數據庫

<html lang="en" dir="ltr"> 
<head> 
<link rel="stylesheet" href="css/app/app-style.css"/> 
<link rel="stylesheet" href="css/lib/jquery.mobile.structure-1.1.1.css"/> 
<link rel="stylesheet" href="css/lib/jquery.mobile.theme-1.1.1.css"/> 
<link rel="stylesheet" href="css/lib/simpledialog.min.css"/> 
<link rel="stylesheet" href="css/lib/jquery-ui-1.10.2.custom.css"/> 
<link href="css/lib/mobiscroll.css" rel="stylesheet" type="text/css"/> 
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/> 
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/> 
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" /> 
<script type="text/javascript" src="js/lib/jquery.js"></script> 
<script type="text/javascript" src="js/lib/jquery-ui-1.10.2.custom.js"></script> 
<!-- <script type="text/javascript" src="js/lib/jquery.mobile-1.1.1.js"></script> --> 
<script type="text/javascript" src="js/lib/jquery.validate.js"></script> 
<script type="text/javascript" src="js/lib/additional-methods.js"></script> 
<script type="text/javascript" src="js/lib/cordova-2.0.0.js"></script> 
<script type="text/javascript" src="js/lib/jqm.page.params.js"></script> 
<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script> 
<script type="text/javascript" defer>  
$(document).ready(function() 
{ $('#viewtag').on('click',function(e) 
    { 
     e.preventDefault(); 
     getRegisterdUser(); 
     $('#viewinformation').show(); 
    }); 
}); 
</script> 
</head> 
<body> 
    <div data-role="page" id="logininfo" data-theme="b"> 
     <div data-role="content"> 
      <div class="ui-grid-a" data-theme="a"> 
       <div class="ui-block-a" data-theme="e" style="width:50%;"><a href="#" id="viewtag" data-role="button">VIEW</a></div> 
      </div> 
     </div> 
    </div> 
    <div data-role="page" id="viewinformation" data-theme="d"> 
     <div data-role="header"> </div> 
     <div data-role="content"> 
      <ul id="list" data-role="listview" data-filter="true" data-filter-placeholder="Search Student Name..." data-filter-theme="e" style="margin-top:20%;"> 
      </ul> 
     </div> 
    </div> 
</body> 
</html> 

(採寫在alldatabsae.js文件)jQuery代碼從拉的LocalDB數據和列表視圖

var db; 
    function getRegisterdUser() 
{ 
    var query = 'SELECT username FROM loginTable'; 
    console.log("query for username selection:" + query); 
    db.transaction(function(tx) 
    { 
    tx.executeSql(query,[],successCBofUsername,errorCBofUsername) 
    },errorCB,successCB); 

} 

function successCBofUsername(tx,results) 
{ 
    var resultslength = results.rows.length; 
    if(results!= null && results.rows.length > 0 && results.rows != null) 
     { 
     for(var i = 0; i <resultslength; i++) 
      { 
      var name = results.rows.item(i); 
      $('<li>'+ name.username +'</li>').appendTo($('#list')); 
      } 
     $('#list').listview('refresh'); 
     //$('#displayinfo').empty().append('html').trigger('create'); 
     } 

    else 
     {alert("no records exists");} 
} 
function errorCBofUsername() 
{ 
alert("error of usernmae query"); 
} 

只顯示用戶名,但得到錯誤:
1.未捕獲的錯誤:不能調用在初始化之前ListView的方法;嘗試調用方法'刷新'http://code.jquery.com/jquery-1.8.2.min.js:2
2.未捕獲錯誤:在初始化之前無法在列表視圖上調用方法;試圖在file:///android_asset/www/js/lib/jquery.js:506 得到錯誤在這行代碼

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

回答

1

調用方法「刷新」你應該使用:

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

由於列表視圖是動態創建和現實中不存在,則首先必須在其標記可以被增強之前被初始化。

要找出爲什麼看看我的其他答案:jQuery Mobile: Markup Enhancement of dynamically added content。搜索章:標記增強問題

+0

感謝您的回覆無論如何,我的代碼工作fine.i只是因爲jquery插件而出現錯誤。我已經管理插件,現在它的工作正常 – Erum 2013-04-06 11:30:06

1

只需更換下方的功能在你的代碼。

function successCBofUsername(tx,results) 
{ var listdata=''; 
    var resultslength = results.rows.length; 
    if(results!= null && results.rows.length > 0 && results.rows != null) 
     { 
     for(var i = 0; i <resultslength; i++) 
      { 
      var name = results.rows.item(i); 
      listdata+='<li>'+ name.username +'</li>'; 
      } 

      $("#list").append(listdata).listview('refresh'); 
      } 

    else 
     {alert("no records exists");} 
} 
+0

感謝您的回覆無論如何,我的代碼工作fine.i只是因爲jquery插件錯誤。我已經管理了插件,現在它的工作正常 - – Erum 2013-04-06 11:30:33

相關問題