下面這行代碼,是要做autocomplete的,要把sql里讀的內容做成自動完成,但是sql里有幾千條資料。
我試過,如果只讀200條左右,下面這個可以自動完成(Alert是用于測驗這段js有沒有執行),
但是如果放大到500潭訓是所有資料,下面這段就完全不執行。
估計是dom沒有ready狀態,所以未執行。
有什么辦法能解決這個問題嗎?
<script>
document.write('Hello World!');
$(document).ready(function(){
var supplier="<?php echo ($supplier_tmp);?>".split(",");
//document.write("fsdfadf"+supplier[0]);
$("#customer_id").autocomplete({ source:supplier });
alert ("hello");
alert (document.readyState);
}
);
</script>
uj5u.com熱心網友回復:

跳出代碼邏輯,代碼不執行可能有倆種情況:1.代碼在執行之前就報錯了,導致中斷,無法執行當前的代碼
2.代碼在執行之前有判斷陳述句,判斷陳述句跳過了期望執行的代碼
代碼不執行就這么倆種情況,哪來的這那的狀態?
uj5u.com熱心網友回復:
ready是DOM加載完了就執行,多半會先于你的資料回傳。也就是你的資料還沒回傳這個函式已經執行完了。uj5u.com熱心網友回復:
前面有個查詢詩句,查一個表的name列內容,查全部時不執行,查200個就可以,
改到500就不行了,
別的都沒有變化
uj5u.com熱心網友回復:
對的對的,就是這樣的,因為查詢資料庫需要時間,資料庫還沒查完他這里就已經執行完了,所以導致沒有執行。
有什么辦法可以比較好地處理這個問題嗎?
uj5u.com熱心網友回復:
把顯示的方法寫到獲取資料方法的回呼里,確保資料回來之后在執行。而且還要改一下頁面顯示,確保資料回來之后頁面才可以操作。
uj5u.com熱心網友回復:
把顯示的方法寫到獲取資料方法的回呼里,確保資料回來之后在執行。 ready是DOM加載完了就執行,多半會先于你的資料回傳。也就是你的資料還沒回傳這個函式已經執行完了。
對的對的,就是這樣的,因為查詢資料庫需要時間,資料庫還沒查完他這里就已經執行完了,所以導致沒有執行。
有什么辦法可以比較好地處理這個問題嗎?
而且還要改一下頁面顯示,確保資料回來之后頁面才可以操作。
對js很不熟悉,這個應該怎么弄合適呢,把讀sql的那段放在$(document).ready({放在這里面嗎?})
uj5u.com熱心網友回復:
跳出代碼邏輯,代碼不執行可能有倆種情況:1.代碼在執行之前就報錯了,導致中斷,無法執行當前的代碼
2.代碼在執行之前有判斷陳述句,判斷陳述句跳過了期望執行的代碼
代碼不執行就這么倆種情況,哪來的這那的狀態?
F12檢查后,確實是資料有問題,有一個欄位里多了一個回車符,導致var變數時報錯,之前沒有看除錯,沒發現問題,唉
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/254230.html
標籤:JavaScript
上一篇:跨域
下一篇:淺克隆和深克隆
