0

AJAXを使用してmysqlLIKEクエリを実行し、htmlを使用して結果セットデータを表示しています。

クエリから返される結果は、変数に格納されているものから最後の文字を引いたものを常に使用しているようですが、そのsearchword理由はわかりません。

MySQL: ("SELECT * FROM products WHERE prod_name LIKE '".$searchword."%'")

検索ワードvarに'bab'=が含まれている場合のvar_dumpstring(49) "SELECT * FROM products WHERE prod_name LIKE 'ba%'"

JQuery / AJAX:

function search(searchword) {      
    $('.smart-suggestions').load('invoice-get-data.php?searchword=' + searchword); 
}   

マークアップ

<input onKeyPress="search(this.value)" type="text" class="prod-name-input"/>
4

1 に答える 1

3

問題は、テキストフィールドの値が更新される前にonkeypressが起動することです。これが、1文字の遅延が発生している理由です。これを修正するには、代わりにonkeyupを使用できます。

<input onKeyUp="search(this.value)" type="text" class="prod-name-input"/>
于 2012-12-08T19:11:25.647 に答える