Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.11.2014, 20:33
Профессор
Отправить личное сообщение для imedia Посмотреть профиль Найти все сообщения от imedia
 
Регистрация: 20.05.2014
Сообщений: 292

не могу повторно запустить selectbox jquery
Здравствуйте я использую плагин очень классный 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() не запускается, как инициализировать этот плагин снова?

Последний раз редактировалось imedia, 18.11.2014 в 23:02.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу подогнать старый jQuery скрипт до версии 1.42 artnik jQuery 1 19.01.2011 18:02
Не могу объединить две галереи на Prototype и jQuery volodumir Ваши сайты и скрипты 5 17.08.2010 14:10
не могу запустить ни оди ява скрипт NickTriada Javascript под браузер 7 17.08.2009 13:25
SlideDown (jQuery) по выбору эллемента из SelectBox slant jQuery 1 24.09.2008 15:17
Не могу понять как работает jQuery kostiaGt jQuery 2 20.07.2008 08:42