2012-02-29 19 views
1

Javascript/JQueryを使用するのが初めてです。問題を解決する他のq &がある場合は、apolygiesです。要するに、私はパーセルからいくつかのデータを取得し、このページが読み込まれるときにこれを使ってHTMLページにリストを生成するモバイルアプリケーションを作成しようとしています。これは私も設定するのjsファイルを持っているJQuery Mobileを使用してリストに項目を追加する

<ul id="myList" data-role="listview" data-theme="g" inset="true"">  
</ul> 

私の.htmlファイルからの抜粋です

if(!window.dataCon){ 
DataCon = {}; 
} 

$(document).ready(function(){ 
DataCon.getApps = function(){ 

    renderApps= function(data){ 
       for(var i = 0;i<data.results.length;i++) 
       {    

        var rec = data.results[i]; 

        var appTitle; 

        if(rec.title) appTitle = rec.title; 
        else appTitle = "Title Unknown"; 

        var appCategory; 

        if(rec.category) appCategory = rec.category; 
        else appCategory = "Category Unknown"; 

        var appLastBuilt; 

        if(rec.lastBuilt) appLastBuilt = rec.lastBuilt; 
        else appLastBuilt = "unknown"; 

        $("#myList").append('<li><a href=""><h3>'+ appTitle +'</h3><p>'+ appCategory +'</p><p>'+ appLastBuilt +'</p></a></li>'); 

        $("#myList").listview('refresh'); // This line now updates the listview 
       } 
} 

     $.ajax({ 
     url:  App.Config.endpoint+"/1/classes/Applications", 
     contentType: "application/json", 
     type:  "GET", 
     headers:{ 
     'X-Parse-Application-Id': App.Config.applicationId , 
     'X-Parse-REST-API-Key': App.Config.masterKey 
     }, 
     dataType: "json", 
     success: function(data) { 

     renderApps(data); 
     }, 
     error:function (xhr, ajaxOptions, thrownError){ 
        alert('error Status:'+xhr.status); 
       } 
    }); 
}// JavaScript Document 
}); 

は、これまでのところ、私は以下のJavaScriptファイル( 'dataController')を持っています情報、つまりapplicationId、masterKey、およびendpointを解析します。私の問題は、 'dataController' jsファイルを使用するhtmlファイルをロードすると、何もリストに表示されないということです!私は何が間違っているのか分かりません。助けや指導があれば大歓迎です。おかげ

答えて

0

あなたの関数定義はリファクタリングのビットを必要とし、これを試してみてください。

function renderApps(data){ 
       for(var i = 0;i<data.results.length;i++) 
       {    

        var rec = data.results[i]; 

        var appTitle; 

        if(rec.title) appTitle = rec.title; 
        else appTitle = "Title Unknown"; 

        var appCategory; 

        if(rec.category) appCategory = rec.category; 
        else appCategory = "Category Unknown"; 

        var appLastBuilt; 

        if(rec.lastBuilt) appLastBuilt = rec.lastBuilt; 
        else appLastBuilt = "unknown"; 

        $("#myList").append('<li><a href=""><h3>'+ appTitle +'</h3><p>'+ appCategory +'</p><p>'+ appLastBuilt +'</p></a></li>'); 

        $("#myList").listview('refresh'); // This line now updates the listview 
       } 
} 

$(document).ready(function(){ 
     $.ajax({ 
     url:  App.Config.endpoint+"/1/classes/Applications", 
     contentType: "application/json", 
     type:  "GET", 
     headers:{ 
     'X-Parse-Application-Id': App.Config.applicationId , 
     'X-Parse-REST-API-Key': App.Config.masterKey 
     }, 
     dataType: "json", 
     success: function(data) { 
       renderApps(data); 
     }, 
     error:function (xhr, ajaxOptions, thrownError){ 
        alert('error Status:'+xhr.status); 
       } 
    }); 
}); 

希望これははるかに高く評価迅速な返信用

+0

おかげで、役立ちます!私の 'dataController' jsファイルのコードを上記のコードに置き換えることを明確にするには?私はこれを試しましたが、まだ何もリストに入れられていません。 – sm4491

+0

私はそれを今働いている。私の愚かな間違いでしたが、htmlページの外部の.jsファイルにスクリプトリンクを含めるのを忘れました! -。- ご協力いただきありがとうございます! – sm4491

+0

それはあなたのためにうまくいってうれしい!この回答が役に立ったなら、私はあなたに「答え」と書いていただきありがとうございます;-)ありがとう – Leon

関連する問題