まず、私はまったくの初心者で、他の人のコードに取り組もうとしています。そのため、必要な情報をすべて提供できることを願っています。
私の jquery モバイル アプリケーションは、バックエンドへのインターフェイスのため、検索パラメーターをテキストの数値表現としてローカル ストレージに格納します。検索パラメータには、6 ~ 15 の異なるオプションを持つ 3 つの質問があります。顧客は検索結果をお気に入りに保存できます。数字をテキストに変換して、顧客にとって使いやすいものにする必要があります。回答が 2 つ未満の回答を変換する方法は知っていますが、3 つ以上の回答を変換する方法がわかりません。
ほとんどすべてのコンテンツは Ajax を介して動的に生成されるため、jsFiddle は不可能です (少なくとも私にとっては ;-)。
検索結果が返されると (クルーズの検索を考えてみてください)、次の情報がこのコマンドによってローカル ストレージに保存されます。
localStorage.search = JSON.stringify(searchParams);
次のように保存されます。
{"出発日":"","返却日":"","地域":"62224","価格":"4","所要時間":"5"}
次に、顧客が検索を「お気に入り」として保存したい場合は、次のコマンドで保存されます。
localStorage.favorites = JSON.stringify(favorites);
localStorage に格納されたお気に入り検索の例:
{"search":{"62224:4:5::":{"searchID":"62224:4","searchinfo":{"出発日":"","返却日":"","地域": "62224","価格":"4","期間":"5"}}}}
保存された検索を取得するための私のコードは次のとおりです。
> $.each(searches, function(idx, searchFav){
> var search = searchFav.searchinfo;
> var newSearchFav = template.clone().appendTo(disp);
> newSearchFav.attr('id', idx);
> $('#region', newSearchFav).html(search.region);
> $('#price', newSearchFav).html(search.price);
> $('#duration', newSearchFav).html(search.duration);
> $('#depart', newSearchFav).html((search.departuredate);
> $('#return', newSearchFav).append((search.returndate);
上記の localStorage に保存された検索の例を使用すると、上記のコードは次のように html ページに表示されます。
- リージョン ID: 62224
- 価格ID: 4
- 期間 ID: 5
- 出発ID:
- リターン ID:
次のルックアップ テーブルに基づいて、期間を「5」ではなく「14 泊以上」と表示する必要があります。
- 0 = "どんな夜でも!"
- 1 = "1 ~ 3 泊"
- 2 = 「4 ~ 6 泊」
- 3 = 「7 ~ 9 泊」
- 4 = 「10 ~ 13 泊」
- 5 = 「14泊以上」
回答が 2 つしかない場合は、次のように入力できます (例として)。
search.duration = ((search.duration > 4) ? "14+ Nights" : "Any");
$('#duration', newSearchFav).html(search.duration);
4 以下の値は「Any」と表示されます。しかし、2 つ以上の応答を行う方法がわかりません。