2016-06-21 56 views
1

在表單加載時,組合框將填充來自數據庫的值。因此,在選擇任何組合框值時,會觸發數據庫查詢並在下面的表中填充值。我的問題是如何在選擇組合框的值時禁用組合框,直到從數據庫中提取值。我已經使用了form.disable,但它只在第一批值到來之前起作用,直到所有值都被取出爲止。禁用組合框,直到獲取數據庫中的值

+0

你能展示你的代碼嗎? – jcubic

+0

我不能。但我可以告訴工作。 onchange()它調用一個從數據庫中檢索值的函數。在這個函數裏我寫了disabled = true。它工作正常。但值提取數以千計,直到所有的值被提取,我想保持禁用組合框。 – Dhruvil

回答

0

即使在onChange()返回後,如果您仍然向表中添加數據(有多個異步調用,我猜),組合框沒有辦法知道它不應該被啓用。
您必須添加邏輯來檢查表是否已完成加載,通過與數據庫COUNT()進行比較或在返回的值中包含「最後一批數據」標誌。

最簡單的方法可能是在批處理返回值的數量少於預期的批處理大小時,使表加載功能啓用組合框。因此,如果一次加載表500行,並且一次調用只返回379個值,那麼這是最後一批,然後可以啓用組合框。

也許你的情況更復雜,在這種情況下,你的代碼的一個例子將是必要的。

+0

你能幫助一個相同的例子嗎? – Dhruvil