Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.02.2013, 20:09
Аспирант
Отправить личное сообщение для zaytsewa Посмотреть профиль Найти все сообщения от zaytsewa
 
Регистрация: 09.11.2010
Сообщений: 71

TD load не работает
Всем привет!
У меня есть таблица. Все нечётные строки видны пользователю, все чётные скрыты, и пока содержат только 1 элемент td. По клику на кнопку чётная строка становится видна и в её td-элемент загружается php-страница при помощи jquery load. Почему-то эта страница не отображается... Есть предположение, что из-за того, что на строку таблицы выводится 20 пикселей высотой...

Вопросы такие: поддерживает ли td load?
может ли высота tr динамически меняться в зависимости от содержимого?

заранее спасибо)
Ответить с цитированием
  #2 (permalink)  
Старый 07.02.2013, 21:24
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

zaytsewa,
1. Проверьте в браузере адрес подгружаемой страницы
2. создайте div блок с id="Test" и подгрузите страницу туда

$("#Test").load("Ccылка на страницу")

3. Если всё удачно - наверно неверный селектор элемента - выложите код (или ссылку на тестовик
Ответить с цитированием
  #3 (permalink)  
Старый 07.02.2013, 21:50
Аспирант
Отправить личное сообщение для zaytsewa Посмотреть профиль Найти все сообщения от zaytsewa
 
Регистрация: 09.11.2010
Сообщений: 71

в тестовый div всё грузится верно..
while ( $arr = mysql_fetch_array( $res ) )
	{
		++$counter;
		echo "<tr>";
		echo "<td style='display:none' class='order_id'>".$arr["id"]."</td>";
		echo "<td>".$counter."</td>";
		echo "<td>".$arr["date_start"]."</td>";
		echo "<td>".$arr["board_room"]."</td>";
		echo "<td>".$arr["count_days"]."</td>";
		echo "<td>".$arr["city_name"]."</td>";
		echo "<td>".$arr["region_name"]."</td>";
		echo "<td>".$arr["client_company_name"]."</td>";
		//$id = $arr["id"];
		echo "<td><button class='show_details' alt='Показать детали'>Подробнее</button></td></tr>";
		echo "<tr style='display:none;'><td colspan='9' class='details'></td></tr>";
	}



$(document).ready(function(){
$(".show_details").click(function(){
	var tr = $(this).parent().parent();
	var order_id = $(tr).find(".order_id").text();
	var details_tr = tr.next();
	
	if ( details_tr.is(":visible") )
		details_tr.hide();
	else
	{
		var details_td = tr.find(".details");
		if ( details_td.children().length == 0)
		{
			//$("#test").load("details.php?order_id="+order_id);
			details_td.load("details.php?order_id="+order_id);
			console.log("order_id="+order_id);
		}
		details_tr.show();
	}
});
});
Ответить с цитированием
  #4 (permalink)  
Старый 07.02.2013, 22:08
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

zaytsewa,
var details_td = tr.find(".details").eq(0);
попробуйте добавить красное
Ответить с цитированием
  #5 (permalink)  
Старый 07.02.2013, 23:00
Аспирант
Отправить личное сообщение для zaytsewa Посмотреть профиль Найти все сообщения от zaytsewa
 
Регистрация: 09.11.2010
Сообщений: 71

не помогло
Ответить с цитированием
  #6 (permalink)  
Старый 07.02.2013, 23:08
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

zaytsewa,
Замените скрипт
$(document).ready(function(){
$(".show_details").click(function(){
	var tr = $(this).parents('tr:first');
	var order_id = tr.find(".order_id").text();
	var details_tr = tr.next();
	
	if ( details_tr.is(":visible") )
		details_tr.hide();
	else
	{
		var details_td = tr.find(".details");
		if ( details_td.children().length == 0)
		{
			//$("#test").load("details.php?order_id="+order_id);
			details_td.load("details.php?order_id="+order_id);
			console.log("order_id="+order_id);
		}
		details_tr.show();
	}
});
});

Последний раз редактировалось Deff, 07.02.2013 в 23:13.
Ответить с цитированием
  #7 (permalink)  
Старый 08.02.2013, 05:54
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

zaytsewa, тоесть вы внутрь td пытаетесь всунуть несколько tr > td ? И че получится? Правильно - ничего.
Ответить с цитированием
  #8 (permalink)  
Старый 08.02.2013, 12:21
Аспирант
Отправить личное сообщение для zaytsewa Посмотреть профиль Найти все сообщения от zaytsewa
 
Регистрация: 09.11.2010
Сообщений: 71

т.е. вы считаете что внутрь таблицы нельзя поместить ещё таблицу?? по-моему можно
Ответить с цитированием
  #9 (permalink)  
Старый 08.02.2013, 12:27
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Можно, но таблица это <table> а не <tr>
Ответить с цитированием
  #10 (permalink)  
Старый 08.02.2013, 12:34
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сорри, я подумал что ваш код while ( $arr = mysql_fetch_array( $res ) ){..} генерирует ответ для xhr-запроса.

Что вообще возвращает страница details.php?order_id="+order_id ? Откройте ее в отдельной вкладке и нажмите Ctrl+U
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Замена значения в store страно работает I3ev ExtJS 0 09.12.2012 14:22
Не работает load() в Опера 11 NeoMurderer jQuery 2 26.12.2011 19:58
не работает чат на JSON top AJAX и COMET 4 13.08.2011 02:04
Не работает код внутри циклов DZHETIGAPA Events/DOM/Window 1 21.06.2011 01:03
Динамическая HTML форма (FireFox - работает, IE - не работает) dm1tr1y Общие вопросы Javascript 10 11.12.2009 15:59