0

まず、私はまったくの初心者で、他の人のコードに取り組もうとしています。そのため、必要な情報をすべて提供できることを願っています。

私の 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 つ以上の応答を行う方法がわかりません。

4

1 に答える 1

0

以下を使用してこれを解決しました。

search.duration = (search.duration > 4) ? "14+ Nights" : (search.duration == 4) ? "10-13 Nights" : (search.duration == 3) ? "7-9 Nights" : (search.duration == 2) ? "4-6 Nights" : (search.duration == 1) ? "1-3 Nights" : "Any Duration";
于 2012-10-12T23:19:25.750 に答える