selectize({
valueField: 'Id',
labelField: 'Name',
searchField: 'Name',
load: function (query, callback) {
$.ajax({
url: '/some_url/params?SOME_ID=4&keyword=' + encodeURIComponent(query),
success: function (response) {}
});
}
});
在上面的代码片段中,是否可以根据某些事件更改请求参数中 SOME_ID 的值
不破坏正在重新初始化整个输入?
预先感谢
我发现的唯一解决方案是销毁并重新初始化输入,但我正在寻找更好的方法
尝试将值存储在适当范围的变量中。
由于每次搜索都会调用
load
函数,因此它将被正确评估。
例如
const selectizeQueryParams = {
SOME_ID: 4, // initial value
};
document.addEventListener('some-event', (e) => {
selectizeQueryParams.SOME_ID = 'newValue';
});
// ...
selectize({
valueField: 'Id',
labelField: 'Name',
searchField: 'Name',
load: function (keyword, callback) {
$.get('/some_url/params', {
...selectizeQueryParams,
keyword, // 👈 jQuery automatically encodes params when passed as an object
}).done(function (response) {});
},
});