Здравствуйте я использую плагин очень классный selectbox
при выборе значения аякс отлично отрабатывает и все смежные селекты заполняются соответствующими значении в соответствии с серверными данными, но когда заполнились селекты я повторно не могу обратиться к функции aj() такое впечатление что не инициализирована функция вызова селектбокса, впринципе я так понимаю в конце аякса для этого и используется .selectbox('attach');
Кто может помочь с этим?
//запуск плагина который преображает селекты
sel_init()
function sel_init(){
$(".filter_select").selectbox({
onOpen: function (inst) {
//console.log("open", inst);
},
onClose: function (inst) {
//console.log("close", inst);
},
onChange: function (val, inst) {//при изменении селекта запускаем функцию с аяксом
select_id=$(this).attr('id');
aj(val,select_id)//передаем в эту функцию два аргумента значение из селекта и его id
},
effect: "slide"
});
function aj(val,select_id){
var txt,
txt1;
var select_=$('select');
$.each(select_,function(i,sel_){////опусташаем каждый селект из формы
$("#"+sel_.id+"").empty();
})
$.ajax({
type: "POST",
dataType: 'json',
url: "/functions_filter/form_filter",//адрес обработчика
data: {id:val,select_id:select_id},
success: function (data) {
var select_name;
$.each(data,function(key,select){//определяем айдишники для каждого селекта исходя из полученных аяксом значений
switch(key){//то есть куда какая информация пойдет
case 'producer':
select_name='producer';
break;
case 'material':
select_name='producer_2';
break;
case 'style':
select_name='producer_3';
break;
case 'color':
select_name='producer_4';
break;
}
$("#"+select_name+"").selectbox('detach');//деактивируем плагин для заполнения селектов новыми значениями
$.each(select,function(key_s,value_s){//здесь замутки с полученными значениями из json
if(select_name==select_id){//если инфа из data соответствует клацнутому селекту
if(value_s.id==val){//активное значение делаем selected
$("#"+select_name+"").append('<option selected value="'+value_s.id+'">'+value_s.name+'</option>')
}
else{//иначе
if(key_s!='not'){//тут могут быть значения которым задан спец класс (неактивные)
$("#"+select_name+"").append('<option value="'+value_s.id+'">'+value_s.name+'</option>')
}
else{
$.each(value_s,function(key_n,value_n){
$("#"+select_name+"").append('<option value="'+value_n.id+'">'+value_n.name+'</option>')
})
}
}
}
else{
if(key_s!='not'){
$("#"+select_name+"").append('<option value="'+value_s.id+'">'+value_s.name+'</option>')
}
else{
$.each(value_s,function(key_n,value_n){
$("#"+select_name+"").append('<option class="relative" value="'+value_n.id+'">'+value_n.name+'</option>')
})
}
}
})//вообщем аякс отрабатывает как надо и все супер все значения стают на свои места
$("#"+select_name+"").selectbox('attach');//это надо для того чтобы активировать плагин для каждого из селектов
})
}
});
}
}
Но проблема в том что если выбрать какое то из полученых значений заново повторно функция aj() не запускается, как инициализировать этот плагин снова?