0

私は最近、Christophe Coenraets の Employee Directory App を会社に実装し、マネージャー機能が必要ないため、少し簡素化しました。

私が手放せない原因の 1 つは、自動検索機能です。これを無効にする方法が見つからず、代わりに標準の検索ボックスと送信ボタンの動作を設定しています。私たちの 1500 人以上の従業員データベースは、iPhone 5 でさえ多すぎて、非常に遅くて動きが鈍いです。

彼のブログに投稿しようとしましたが、データベース エラーが発生します。

彼のアプリへのリンクは次のとおりです: http://coenraets.org/blog/2012/03/employee-directory-sample-app-with-backbone-js-and-jquery-mobile/

このアプリや backbone.js に詳しい人はいますか?

どうもありがとう。

更新: 検索を 1.5 秒遅らせることで、検索を実装する簡単な方法を見つけました。ここに underscore.js フレームワークの _.debounce 関数を追加しました。

search: _.debounce(function(event){
var key = $('.search-key').val();
this.model.findByName(key);
}, 1500)
});

ご回答ありがとうございます。

更新 2 : 待機期間の代わりに、Enter キーを使用してアプリを機能させようとしました。これはこれまでの私のコードですが、そこにとどまり、Enter キーに応答しません。コンソールも何も言わない。何か案は?

events: {
    //"keyup .search-query": "search",
    "keypress .search-query": "onkeypress"
},

search: function () {
    var key = $('.search-key').val();
    console.log('search ' + key);
    this.searchResults.findByName(key);
    setTimeout(function () {
        $('.dropdown').addClass('open');
    });
},

onkeypress: function (event) {
    if (event.keyCode == 13) {
        event.preventDefault();
        this.search()
    }
}
});
4

2 に答える 2

0

そのアプリケーションを一目見ただけで、検索機能が HTTP 要求を実行して、キーストローク後にそのドロップダウンに入力される従業員データの JSON 配列を取得することがわかりました。

これは、バックエンド コードが返す結果の数を妥当な数に制限するのと同じくらい簡単です。

より使いやすくしたい場合は、見つかった # レコードのうち、返されたレコードの # を表示し、結果セットを絞り込むために検索をより具体的にするように指示します。

于 2013-08-09T00:07:20.530 に答える