0

PhoneGapを使用しているときに、名前と電話番号を自動インクリメントIDフィールドとともに保存するSQLiteデータベースを作成しました。jQuery Mobileを使用して結果を取得し、リストビューに表示しています。コードは次のとおりです。

 function queryDB(tx){

    tx.executeSql('SELECT * FROM DEMO',[],querySuccess,errorCB);
}

 function querySuccess(tx,result){

    $('#contactList').empty();

    $.each(result.rows,function(index){

        var row = result.rows.item(index);

        $('#contactList').append('<li><a href="#"><h3 class="ui-li-heading">'+row['name']+'</h3><p class="ui-li-desc">Phone '+row['phone']+'</p></a></li>');


    });


  $("#contactList").listview();

}

ここで、ユーザーが画面上の特定のリスト要素をタップすると、新しいページに移動する必要があります。それに加えて、そのユーザーのIDを新しいページに渡して、そのIDを使用してDBに詳細を保存できるようにします。私はJQMを初めて使用するため、その方法を理解できません。

4

1 に答える 1

1

イベントをすべての LI に攻撃するために必要な最初のこと

    $('#contactsList li').on("vclick",function(){
        //do what you need to do to change the page
    });

また、li 内の各リンクに「data-role="button"」がありません。私は次のように変更します:

    $('#contactList').append('<li><a href="#" id='+row['id']+' data-role="button"><h3 class="ui-li-heading">'+row["name"]+'</h3><p class="ui-li-desc">Phone '+row["phone"]+'</p></a></li>');

最終的には:

      $('#contactsList li').on("vclick",function(){
        localStorage.currentId = $('a',this).attr("id");
        $.mobile.changePage('myOtherPage.html');
    });

他のページから id にアクセスするには:

    var currentId = localStorage.currentId;
于 2012-05-08T09:58:41.033 に答える