私は次の例を探していましたscottgonzalez/jquery-ui-extensions
をカスタマイズする必要があります。これは、2つの引数とオートコンプリートsource callback
を想定しています。request
response
私の質問は次のとおりです。オートコンプリートで定義された変数に従ってデータをフィルタリングするために、ソースコールバックに追加のパラメーターを渡すにはどうすればよいですか?例:
currentUser=false->現在のユーザーをソースから除外する必要があります。
これが私のコードです(1)(2)。
私が何を求めているかをよりよく理解するためにコメントを見てください。
ありがとう。
(1)
// autocomplte.js
define([
'jquery',
'matcher'
], function ($, matcher) {
"use strict";
var autoComplete = function (element, options) {
console.log(options); // {isCurrentUser: true}
element.autocomplete({
minLength: 3,
autoFocus: true,
source: matcher // this is a callback defined
// in matcher.js
});
// other codes;
}
});
(2)
// matcher.js
define([
'jquery',
'users',
'jqueryUi'
], function ($, UserCollection) {
"use strict";
var userCollection,
matcher;
matcher = function (request, response, options) { // how can I pass
// an extra parameter
// to this callback?
console.log(options); // undefined it should be {isCurrentUser: true}
userCollection = new UserCollection();
var regExp = new RegExp($.ui.autocomplete.escapeRegex(request.term), 'i');
response(userCollection.filter(function (data) {
return regExp.test(data.get('first_name'));
}));
};
return matcher;
});