2017-06-27 104 views
0

我目前正在設施預訂系統上工作。在預訂設施的過程中,用戶可以選擇一個時間段。當用戶選擇日期和設施進行預訂時,會發出ajax呼叫以檢索所有可用時間段。返回的數據包括工作日和週末的時間段(是的,他們有不同的時間段)。jquery間歇性地無法隱藏行

平日和週末以及時段放在一個表格中。還有另外一個功能來檢查選擇的日期是星期幾還是週末。如果是前者,則週末時段將被隱藏。如果是後者,反之亦然。

開放時間爲週一至週五:08:00 - 21:00

開放時間爲週末:08:30 - 17: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' - 你還沒有表現出任何** **代碼。你得到任何有用答案的機會是零......第五個函數我建議你修正第五個函數 –

+0

@JaromandaX我沒有顯示用於隱藏表格行的jqeury代碼。 –

+0

是的,你一定編輯過這個問題?而那3條線沒有幫助 –

回答

1

要隱藏的代碼在填充時間表的代碼之前運行,將數據插入到時間表並顯示後,將回路添加到回調中。

+1

這個答案幫了很大忙。謝謝! –

0

這可能不是問題的絕對答案,我寧願建議做相反的事情。從問題描述中,我假設有一個ajax調用返回數據&,之後函數觸發隱藏不相關的行。一分鐘的延遲將在那裏,因爲DOM遍歷

的備選地

  1. 最初隱藏視圖(週末&時隙)。
  2. 檢查條件並僅顯示相關數據。
  3. 直到那個時候可以在屏幕中的微調,以顯示工作正在進行中