2017-06-27 17 views
0

私は現在施設予約システムで作業しています。施設を予約する過程で、ユーザーはタイムスロットを選択できます。ユーザーが予約する日付と施設を選択すると、利用可能なすべてのタイムスロットを取得するためのajax呼び出しが行われます。返されるデータには、平日と週末のタイムスロットが含まれます(はい、タイムスロットが異なります)。Jqueryが断続的に行を非表示にできない

曜日と週末とタイムスロットがテーブルに配置されます。選択した日付が平日か週末かをチェックする別の機能があります。前者の場合、週末のタイムスロットは表示されません。後者の場合はその逆です。

平日のための開放時間:午前8時00 - 午後9時

週末のための開放時間:午前8時30 - 午後5時30分

前記タイムスロットを非表示にするには、以下コードが使用されます。

if (lastId != end_time_id) { 
    for (var i = lastId + 1; i <= end_time_id; i++) { 
     $('#trTimeslot' + i).hide(); 
    } 
} 

コードが完璧に動作した場合、タイムスロットは次のように表示されます:

選択した日付:2017年6月27日、火曜日(平日)

Correct Time Slots

選択した日付:回で2017年7月1日

Correct Time Slots Weekend

ただし、土曜日(週末)、 、コードは動作しません。時には、示されたタイムスロットは、平日と週末の両方を表示します:

選択した日付:2017年6月27日、火曜日(平日)

Wrong Time Slots Shown

それは7こともを注意しなければなりません - 8の機能タイムスロットが表示される前に、ajaxリクエストで満たされて呼び出されます。 「週末」または「平日」の行を非表示にする機能は、5番目の機能です。

問題は、タイムスロットがユーザーに表示される前に行が非表示になることを確認するためにできることはありますか?

私は、会社がこれらの種類のものにかなり敏感なので、もっとコードを表示できないことをお詫びします。

何か助力や提案をいただければ幸いです。

+0

である 'よりcodes'を表示することはできません - あなたは**任意の**のコードを示していません。有益な答えを得るチャンスはゼロです。「第5の関数」第5の関数を修正することをお勧めします。 –

+0

@JaromandaXテーブル行を隠すために使用されるjqeuryコードを示しました。 –

+0

はい、質問を編集したはずですか?それらの3行は助けにならない –

答えて

1

時刻表にデータを挿入して表示した後に、タイムテーブルにデータを挿入するコードの前に非表示にするコードが実行されていて、コールバックにループを追加します。

+1

この回答は多くの助けになりました。ありがとうございました! –

0

これは問題の絶対的な答えではないかもしれませんが、私はむしろ逆のことを提案したいと思います。問題の記述から、私はあるデータを返すajax呼び出しがあり、無関係な行を隠すために関数がトリガーするデータ&が続くと仮定します。分の遅延が

また

  1. ため、DOMのトラバーサルのがあるでしょう。最初のビュー(土日&タイムスロット)を非表示にします。
  2. 条件を確認し、関連するデータのみを表示してください。その時ティル仕事を表示するには、画面にスピナーがあることができ
  3. が進行
関連する問題