Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.08.2011, 21:49
Аспирант
Отправить личное сообщение для KingStar Посмотреть профиль Найти все сообщения от KingStar
 
Регистрация: 25.08.2011
Сообщений: 42

Помогите вывести блок повторно...
Всем привет! Сразу скажу, что в JS полный ноль. Нашел на просторах инета скрипт, который позволяет подгружать выпадающий список из БД, и выводит рядом следующий с данными, кот. соответствуют первому.

например 1 список: Страна, второй - регион, третий - город и т.д.


<form action="" method="post">
  
    <select name="drop_1" id="drop_1">
    
      <option value="" selected="selected" disabled="disabled">Select a Category</option>
      
      <?php getTierOne(); ?>
    
    </select> 
    
    <span id="wait_1" style="display: none;">
    <img alt="Please Wait" src="ajax-loader.gif"/>
    </span>
    <span id="result_1" style="display: none;"></span>
    <span id="wait_2" style="display: none;">
    <img alt="Please Wait" src="ajax-loader.gif"/>
    </span>
    <span id="result_2" style="display: none;"></span> 
  
</form>


$(document).ready(function() {
	$('#wait_1').hide();
	$('#drop_1').change(function(){
	  $('#wait_1').show();
	  $('#result_1').hide();
      $.get("func.php", {
		func: "drop_1",
		drop_var: $('#drop_1').val()
      }, function(response){
        $('#result_1').fadeOut();
        setTimeout("finishAjax('result_1', '"+escape(response)+"')", 400);
      });
    	return false;
	});
});

function finishAjax(id, response) {
  $('#wait_1').hide();
  $('#'+id).html(unescape(response));
  $('#'+id).fadeIn();
}
function finishAjax_tier_three(id, response) {
  $('#wait_2').hide();
  $('#'+id).html(unescape(response));
  $('#'+id).fadeIn();
}


При вставке этого всего добра на странику, все прекрасно работает, но при повторной и последующей вставке - список не подгружается, в итоге из всех работает толко первый Плиз, помогите, в чем может быть проблема???

Последний раз редактировалось KingStar, 25.08.2011 в 22:02.
Ответить с цитированием
  #2 (permalink)  
Старый 25.08.2011, 23:57
Аватар для yashka525
Mr. Jacob
Отправить личное сообщение для yashka525 Посмотреть профиль Найти все сообщения от yashka525
 
Регистрация: 20.01.2011
Сообщений: 194

Может id у Вас повторяется? На каждый блок нужен свой id.
Ответить с цитированием
  #3 (permalink)  
Старый 26.08.2011, 00:14
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Цитата:
но при повторной и последующей вставке
вставке чего?
Ответить с цитированием
  #4 (permalink)  
Старый 26.08.2011, 00:50
Аспирант
Отправить личное сообщение для KingStar Посмотреть профиль Найти все сообщения от KingStar
 
Регистрация: 25.08.2011
Сообщений: 42

Сообщение от yashka525 Посмотреть сообщение
Может id у Вас повторяется? На каждый блок нужен свой id.
Нет, сам селект вызывается функцией PHP, и он у нее отличается от второго, третьего и т.д.

т.е. вот так:

Select(31);


по этому ID и идет выборка из базы и заполняется первый список, и далее при выборе в селекте появляется следующий...

Допустим, если я допустим вставил Select(1); - список работает как часики, если еще дополнительно ставлю ниже Select(2);, то первый список этого селекта заполняется, но при выборе не идет подгрузка следующих данных, при том, что Select(1); работает как и должно.

Если даже учесть, что может где-то совпал ID блока, то по логике вещей, при выборе во втором он должен погрузится в блок первого, и результат будет просто в другом месте, но он молчит как партизан (((

Последний раз редактировалось KingStar, 26.08.2011 в 01:00.
Ответить с цитированием
  #5 (permalink)  
Старый 27.08.2011, 22:50
Аспирант
Отправить личное сообщение для KingStar Посмотреть профиль Найти все сообщения от KingStar
 
Регистрация: 25.08.2011
Сообщений: 42

Никто не в курсе???
Ответить с цитированием
  #6 (permalink)  
Старый 28.08.2011, 23:50
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

Не уверен, но возможно у вас получается ситуация, что те элементы, которые указаны внутри js-функции обработчика события, "жестко" указаны?

У вас при повторной вставке первый ваш код работает нормально, а последующие при выборе из первого списка изменяют списки из первой группы списков? Если да, то проверьте, что все идентификаторы в JS-скрипте указывают на нужные элементы.
Ответить с цитированием
  #7 (permalink)  
Старый 30.08.2011, 16:01
Аспирант
Отправить личное сообщение для KingStar Посмотреть профиль Найти все сообщения от KingStar
 
Регистрация: 25.08.2011
Сообщений: 42

Сообщение от Андрей Параничев Посмотреть сообщение
Не уверен, но возможно у вас получается ситуация, что те элементы, которые указаны внутри js-функции обработчика события, "жестко" указаны?

У вас при повторной вставке первый ваш код работает нормально, а последующие при выборе из первого списка изменяют списки из первой группы списков? Если да, то проверьте, что все идентификаторы в JS-скрипте указывают на нужные элементы.
В том то и дело, что работает только первая вставка (с подгрузкой своих списков), а вторая и последующие выводят только начальный список своей вставки, дальнейшей подгрузки никакой вообще
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Показать/скрыть блок Lelja_05 jQuery 10 01.07.2013 20:05
Помогите вывести и посчитать значения ячеек в таблицах uznik73 Events/DOM/Window 13 14.07.2011 13:09
Помогите пожалуйста не могу вывести информацию из mysql Геворг Серверные языки и технологии 4 01.03.2011 20:24
Помогите оптимизировать скрипт смены изображений с анимацией Khmelevsky Элементы интерфейса 5 06.03.2010 19:02
помогите вывести переменную в HEX BMWSauber Элементы интерфейса 3 27.01.2010 18:57