Показать сообщение отдельно
  #1 (permalink)  
Старый 08.08.2009, 20:11
Аспирант
Отправить личное сообщение для Beck Посмотреть профиль Найти все сообщения от Beck
 
Регистрация: 08.08.2009
Сообщений: 95

Помогите выявить проблему скрипта
Написал тут скрипт для выбора категорий, работает в Firefox и Опере, но отказывается работать в IE6,7 и в Google Chrome.

Firebug ошибок не показывает.

Данные вытаскиваются из многомерных массивов.
Прогонял переменные по console.log(); , всё выводит.

Заранее огромное спасибо! Я только новичек, так что сильно не пинайте.


var current_cat1 = 'null1';
var current_cat2 = 'null2';
var current_cat3 = 'null3';





function call_cats() {

	fill_cat1();
	fill_cat2();
	fill_cat3();

}







function fill_cat1() {

	$('#cat1').html('');
	var selected = '';

	var cat1 = $('#cat1');
	
	cat1.prepend('<option id="null1" value="null1"></option>');

		var i = 0;

		while(i <= main_cats['main_cat_rows'] - 1) {
			if(current_cat1 == 'null1') {
			$('#null1', cat1).remove();
			cat1.prepend('<option id="null1" value="null1" selected></option>');
			current_cat2 = 'null2';current_cat3 = 'null3';
			}
			if(current_cat1 == i){var selected = 'selected';
			cat1.append('<option ' + selected + ' value="' + i + '">' + main_cats['main_cat'][i] + '</option>');
			i++;
			}
			
			cat1.append('<option value="' + i + '">' + main_cats['main_cat'][i] + '</option>');
			i++;
		}
	$('#cat1 option').bind("click", function(){current_cat1 = $(this).attr('value'); call_cats();});	
}








function fill_cat2() {

	$('#cat2').html('');
	var selected = '';
	
	var cat2 = $('#cat2');
	
	cat2.prepend('<option id="null2" value="null2"></option>');
	
		var i = 0;
		
		while(i <= sub_cats['list_rows'][current_cat1] - 1) {
			if(current_cat2 == 'null2') {
			$('#null2', cat2).remove();
			cat2.prepend('<option id="null2" value="null2" selected></option>');
			current_cat3 = 'null3';			
			}
			if(current_cat2 == i){var selected = 'selected';
			cat2.append('<option ' + selected + ' value="' + i + '">' + sub_cats['list_all'][current_cat1][i] + '</option>');
			i++;
			}
			cat2.append('<option value="' + i + '">' + sub_cats['list_all'][current_cat1][i] + '</option>');
		i++;
		}
	$('#cat2 option').bind("click", function(){current_cat2 = $(this).attr('value'); call_cats();});
}








function fill_cat3() {

	$('#cat3').html('');
	var selected = '';
	
	var cat3 = $('#cat3');
	
	cat3.prepend('<option id="null3" value="null3"></option>');
	
		var i = 0;
		while(i <= sub_cats['list_sub_rows'][current_cat2] - 1) {
			if(current_cat3 == 'null3') {$('#null3', cat3).remove();cat3.prepend('<option id="null3" value="null3" selected></option>');}
			if(current_cat3 == i){var selected = 'selected';
			cat3.append('<option ' + selected + ' value="' + i + '">' + sub_cats['sub_list'][current_cat1][current_cat2][i] + '</option>');
			i++;
			}
			cat3.append('<option value="' + i + '">' + sub_cats['sub_list'][current_cat1][current_cat2][i] + '</option>');
		i++;
		}
	$('#cat3 option').bind("click", function(){current_cat3 = $(this).attr('value'); call_cats();});
}

Последний раз редактировалось Андрей Параничев, 08.08.2009 в 22:34. Причина: Пользуйтесь bb-кодами [js] и [html] для оформления листингов кода в теле сообщения.
Ответить с цитированием