Добрый день. В проекте использую selectize.js.
У меня существует следующий метод, который направляет ajax- запрос на сервер и получает обновленные данные.
getCategoryAdCount: function (callback) {
var that = this,
dataToSend = {
method: 'getCategoryAdCount',
params: {
productId: this.productId
}
};
SJA.ajax(dataToSend, function (respond) {
if (respond) {
callback && callback(respond);
}
});
},
Также я использую callback этой функции, который создает в поле select'a новые значения, которые берет из ответа сервера. На любое изменение на странице, я вызываю функцию getCategoryAdCount. Получаю обновленные данные с сервера.
this.getCategoryAdCount(function (categories) {
//add selectize plugin to display multiply choice
var values = categories.map(function (cat) {return { item : cat.id, text : cat.name + ' (' +cat.count + ')'}; });
//id,name,count- this information I receiving from the server
this.$filtercat.selectize({
plugins: ['remove_button'],
delimiter: ',',
persist: false,
maxItems: 5,
options: values,
labelField: "text",
valueField: "item",
sortField: 'text',
searchField: 'text',
create: function (input) {
return {
value: input,
text: input
}
}
});
Проблема в том, что в переменной values сохраняется изначальное значение. И сколько бы я не направлял новых запросов на сервер, пока не перезагружу страницу в этой переменной не будут учтены обновления. Подскажите почему так может происходить? И как от этого избавиться?