亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

防止 xmlhttp 函數在鍵控時再次運行

防止 xmlhttp 函數在鍵控時再次運行

RISEBY 2022-09-16 20:59:05
因此,我有一個鍵控函數,可以從MySQL表中檢索數據,然后顯示它。但是,如果更改了字母,它將再次檢索數據。請參閱下圖“當前狀態”和“在檢查器中”它應該做的只是用新的建議替換這些建議,而不是將其添加到列表中編輯:Shoaeb的解決方案有效,但不是他建議的方式。document.getElementById('schoolListMenu').innerHTML="";我在調用鍵控函數后立即添加了該行。這將清除 div 中的內容,并在用戶停止鍵入后將其替換為更新的內容。如果用戶再次按某個鍵,它將再次清除 div 并附加更新的結果。編輯2:更新了JS代碼var timeout = null;function getSchool(schoolType){    if(schoolType1.classList.contains('active') || schoolType2.classList.contains('active'))    {        schoolNameField.onkeyup = function(e)        {            document.getElementById('schoolListMenu').innerHTML="";            clearTimeout(timeout);            timeout = setTimeout(function() {                var query = e.target.value;                console.log(query);                var xmlhttp = new XMLHttpRequest();                xmlhttp.onreadystatechange = function() {                    if (this.readyState === 4 && this.status === 200) {                        var schoolResult = this.responseText;                        schoolResult = schoolResult.split("|");                        for(var i = 0; i < schoolResult.length; i++)                        {                            var schoolSuggestion = document.createElement('div');                            schoolSuggestion.id = 'schoolSuggestion'+i;                            schoolSuggestion.className = 'item';                            schoolSuggestion.innerText = schoolResult[i];                            document.getElementById('schoolListMenu').appendChild(schoolSuggestion);                        }                    }                };                xmlhttp.open("GET", "scripts/schoolLookup.php?type="+schoolType+"&name="+query, true);                xmlhttp.send();            }, 500);        };    }}我如何讓它替換內容而不是添加新的div?我覺得我了解問題是什么,知道解決方案是什么,但我無法用言語表達
查看完整描述

1 回答

?
慕尼黑的夜晚無繁華

TA貢獻1864條經驗 獲得超6個贊

更改此行

文檔.getElementById(“學校列表菜單”).appendChild(學校建議);

document.getElementById('學校列表菜單').innerHTML(學校建議);

或者您可以在附加之前清除列表

document.getElementById('學校列表菜單').innerHTML=“”;文檔.getElementById(“學校列表菜單”).appendChild(學校建議);


查看完整回答
反對 回復 2022-09-16
  • 1 回答
  • 0 關注
  • 103 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號