まず、私がやろうとしていることを皆さんにお見せしたいと思います。
AJAX、jquery、phpを使用してアプリケーションで検索機能を作成しようとしていますが、Codeigniterを使用しているフレームワークについては、CIである必要はありません。これは、すべてに似ている可能性があります(おそらく)。
イベントを監視するためのこのコードがfocus
ありblur
ます。
$("#searchbox").on({
keyup : debounce(function(){
MSI.Interface.search();
},350,false),
blur : function(){
$("#search_results").hide();
}
});
まだ終わっていないので、blur
イベントは.hide()
。他に何を含めるかは考えられません。おそらく、html
のをリセット#search_results
して空白にしますが、それが妥当かどうかはわかりません。
最初の質問:そのためのより合理的な解決策は何だと思いますか?
前のコードでわかるように、サーバーでの文字ごとの要求を防ぐために、デバウンス機能があります。それが正しいかどうか疑問に思います。
それから私はこのsearch
機能を持っています
search : function() {
var keyword = $("#searchbox").val();
if (keyword == '') {
} else {
$.ajax({
url : MSI.variables.base_url + 'search',
type: 'POST',
data: {
keyword : keyword
},
dataType : 'json',
success: function(output) {
$.each(output, function() {
$.each(this, function(key, value){
$("#search_results").show().prepend("<p>"+value+"</p>");
});
});
}
});
}
}
そのコードを使用すると、スクリプトはコンテンツをに追加できるようになり#search_results div
ます。
2番目の質問:これに対するより良い解決策は何だと思いますか?