3

私はjQuerymobileとPhonegapから始めています。

カテゴリセレクターがあり、選択したカテゴリに基づいて、そのカテゴリに属する​​チェックボックスリストを表示します。以下の1つのチェックボックスグループの例を参照してください。非表示になっていることに注意してください。ユーザーがフィールド「category」で「locations」を選択した場合にのみ、そのフィールドを表示します。

<select name="select-choice-0" id="category" onchange="javascript:showboxes();updateresults();">
<option value="0">Select a category</option>
<option value="4">Catering</option>   
<option value="1">Locations</option>
<option value="2">Music</option>
</select>


<div id="locationthemes_box" data-role="collapsible" style="display:none;">
<h3>Themes</h3>
<div data-role="fieldcontain">
<fieldset data-role="controlgroup">
    <legend>Theme</legend>
    <input type="checkbox" name="locationthemes" id="checkbox-1" value="2" class="custom" />
    <label for="checkbox-1">Castle</label>
    <input type="checkbox" name="locationthemes" id="checkbox-2" value="3" class="custom" />
    <label for="checkbox-2">Barn</label>
    <input type="checkbox" name="locationthemes" id="checkbox-3" value="5" class="custom" />
    <label for="checkbox-3">Restaurant</label>
    <input type="checkbox" name="locationthemes" id="checkbox-4" value="8" class="custom" />
    <label for="checkbox-4">Bar</label>
</fieldset>
</div>
</div>

これで、選択したカテゴリに応じて表示または非表示にするチェックボックスグループが増えました。ページに表示されていないチェックボックスのHTMLが表示されないようにしたい。その結果、不必要な帯域幅の使用が発生するためです。次に、ユーザーがカテゴリ選択ボックスを変更するとすぐに、関連するチェックボックスと値のWebサービス要求を行うことにより、チェックボックスグループのコンテンツを動的にロードする必要があると考えました。

しかし、それは多くのWebリクエストをもたらすことになり、私は帯域幅を節約しようとしていました。

だから私の考えは、ローカルストレージが私の問題を解決できるかもしれないということでした。次に、チェックボックスの値を名前/値の文字列として保存します。locationthemes
= 2; Castle; 3; Barn; 5; Restaurant; 8; Bar

私の質問:これは進むべき道ですか、それとも私が知らないベストプラクティスはありますか?
私のやり方がアドバイスされた方法である場合:PhoneGapでローカルストレージを使用する例は大歓迎です!

4

2 に答える 2

2

1つのHTMLを持ち、その中にすべてのページを含めるというJqueryMobileの単一ページの概念を使用する場合

<div data-role="page" id="page1">
<div data-role="page" id="page2">
<div data-role="page" id="page3">
<div data-role="page" id="page4">

次に、グローバル変数を使用して値を格納できます。

それ以外の場合は、ここで説明されているようにlocalStorageを使用できます http://docs.phonegap.com/en/1.8.1/cordova_storage_storage.md.html#localStorage

于 2012-07-02T13:35:18.827 に答える
0

Androidが必要に応じて容赦なくアプリを強制終了するという理由だけで、localStorageを使用することをお勧めします。ユーザーがアプリをしばらくバックグラウンドに置いた場合、またはユーザーがスマートフォンをスリープ状態にした場合、または長時間待機した場合、アプリが強制終了される可能性があります。ここで、アプリのステータスまたは重要な変数を常にlocalStorageに保存し、アプリの再起動時にこのデータを再度取得することができます(簡単な起動チェックを使用)。

于 2013-02-09T10:01:34.000 に答える