2011-07-18 17 views
0

私はモバイルウェブアプリケーションを持っています。現在、iUIを使用しています。私はjQuery Mobileを書き直してこの機能を試してみました。私が把握していないことの1つは、コンテンツをAjaxに置き換える方法です。jQuery Mobile - リストにレコードを追加する

私はレコードのリストを持っています。私は一度に5つのレコードを表示したいだけです。 iUIには、リンクを「replace-with」と指定する機能があり、Ajaxから返されたデータにリンクが置き換えられます。

jquery mobileでこれをどうやって行うのですか?私はいくつかのjqueryの呼び出しを試みたが、私は一般的に、このエラーを取得し、すべてが動作しなくなった:あなたはjQueryのを使用して関数を作成することができ

b.height(i + j).data("page") is undefined 
[Break On This Error] a.mobile.minScrollBack&&(j=0);d&&(d.he...ght("").data("page")._trigger("hide", ... 

答えて

3

こと(非順序リストに以下の場合)のデータをロードする:

 
function load_list(page_num) { 
    $.get('location_of_output_script.php?page=' + page_num, function (data) { 
     $('#add_html_to_me > li.click_to_see_more').remove(); 
     $('#add_html_to_me').append(data); 
    }); 
} 

あなたのページには、新しいアイテムが追加されるであろうに、いくつかの要素(この場合は非順序付きリスト)が必要になります

 
<div data-role="content"> 
    <ul id="add_html_to_me"></ul> 
</div> 

このexampであなたの出力スクリプト(「location_of_output_script.php」 le)は、ボタンがクリックされたとき(またはおそらくユーザがリストの最後まで十分にスクロールしたとき)、所望の数の結果を返すことができる。

 
<li>List item 1</li> 
<li>List item 2</li> 
<li>List item 3</li> 
<li>List item 4</li> 
<li>List item 5</li> 
<li class="click_to_see_more">Click Me To View More Rows</li> 

いくつかの注意:ここで私が想像していた出力のサンプルがありますが、サーバーサイドスクリプトからの各出力の最後にボタンをロードすることになり、私の例では

  • ことだろう次の行セットを追加する直前に削除されます。

  • リストの内容を.append()ではなく.html()関数を使用して追加する代わりに置き換えることができます。

  • < ul>タグで.listview()を呼び出して、JQuery Mobileで新しいコンテンツをスタイルに設定する必要がある場合があります。

  • スピンナーやいくつかのタイプのプログレスバーを追加したい場合は、$ .getコールを作成してそのコールの成功関数内に隠す前に表示することができます。

+0

これは本質的に私がやっていることです。私はアンカータグでurlを持っています。そして、私は基本的にクリックの振る舞いを抑止していますし、ajaxでURLを呼び出してコンテンツをリストに追加しています。私はjqueryモバイルはいくつかの余分な仕事をしていると思いますので、プログレッシブなエンハンスメントテクニックはjquery mobileでは動作しないかもしれませんか? – Dustin

+0

アンカータグを取り出してスパンタグを使用しましたが、今は正常に動作しているようです。ありがとう。 – Dustin

関連する問題