Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 08.05.2014, 14:20
Аспирант
Отправить личное сообщение для zazula Посмотреть профиль Найти все сообщения от zazula
 
Регистрация: 07.05.2014
Сообщений: 40

написала, все по-прежнему
Ответить с цитированием
  #32 (permalink)  
Старый 08.05.2014, 14:29
Аспирант
Отправить личное сообщение для zazula Посмотреть профиль Найти все сообщения от zazula
 
Регистрация: 07.05.2014
Сообщений: 40

дак она и не может быть определена, пока не выбран параметр из первого списка, а как он может быть выбран, если списки select вообще не выводятся. Может быть нужно еще какое-то условие?
Ответить с цитированием
  #33 (permalink)  
Старый 08.05.2014, 14:30
Аспирант
Отправить личное сообщение для zazula Посмотреть профиль Найти все сообщения от zazula
 
Регистрация: 07.05.2014
Сообщений: 40

добавила еще одно условие, теперь запрос не ругается, и зависимый список становится акивным, при выборе первого, но опять данные не видны
Ответить с цитированием
  #34 (permalink)  
Старый 08.05.2014, 14:37
Профессор
Отправить личное сообщение для jsnb Посмотреть профиль Найти все сообщения от jsnb
 
Регистрация: 15.03.2014
Сообщений: 561

Я, если честно, уже не понимаю куда вы там чего надобавляли и чего у вас там где не выводится. Я просил вас только скопировать часть после return $arr в новый php файл и при этом ничего не менять в query.php и остальных файлах. Ну и в url параметре аякса написать имя файла в который был скопирован код. Но вы начали какие-то условия менять и еще чего-то непонтное делать. Я должен методом телепатии узнавать что вы там меняете что ли?

Последний раз редактировалось jsnb, 08.05.2014 в 14:41.
Ответить с цитированием
  #35 (permalink)  
Старый 08.05.2014, 14:55
Аспирант
Отправить личное сообщение для zazula Посмотреть профиль Найти все сообщения от zazula
 
Регистрация: 07.05.2014
Сообщений: 40

Я разделила, но это не помогло. Теперь у меня 5 файлов. Добавила новое условие в query.php.
Теперь select второй становится активным, но параметры нужные не выводятся.
Вот что у меня получилось:
query.php
include('zapros.php');
// Проверяем наличие переменной, которая укажет данному сценарию какие именно данные нужны
if(isset($_POST['kat_id']))
{
if (!isset($_POST['query']) || !$_POST['query']) 
{
	exit("Нет данных определяющих тип запроса");
}
else {
	// Сохраняем строку запроса данных в отдельной переменной
	$query = trim($_POST['query']); // Очищаем от лишних пробелов
	
	// Определяем тип запроса
	switch($query) 
	{
	case 'getTip':	// Запрос на получение 
		// Сохраним в переменную значение выбранного типа транспорта
		$kat_id = trim($_POST['kat_id']); // Очистим его от лишних пробелов
		// Формируем массив с ответом
		
		$result = NULL;
		$i = 0;
		foreach ($arr as $tip_id => $tip) 
		{
			$result[$i]['tip_id'] = $tip_id;
			$result[$i]['tip'] = $tip;
			$i++;
		}
        
	break;
	
	default:
		// Если данные не определены
		$result = NULL;
	break;
	}
}
}
echo json_encode($result);

zapros.php
$stroka_zaprosa_kat="SELECT * FROM  kat";
		$dannye_kat=mysql_query($stroka_zaprosa_kat, $connect) or die(mysql_error()) ; 
		$kolvo_kat=mysql_num_rows($dannye_kat);	
		$kat_sel="";
		if(isset($_POST['kat']))
		{
			$kat_sel=$_POST['kat'];
		}

if(isset($_POST['kat_id']))
{
$tip = $mysqli->query("SELECT *
            FROM  `tip`
            WHERE  `id_kat` =  '".$_POST['kat_id']."'");       
        $arr = array();
        while($row = mysqli_fetch_assoc($tip))
		{
          $arr[$row['tid']] = $row['tname'];
        }
}

ну и скрипт остался прежним
(function () {	
	"use strict";
	jQuery(function () {
		
		$( '#kat' ).change(function () {
			
			$( '#tip').find( 'option:not(:first)' )	
				.remove()	
				.end()
				.prop( 'disabled',true );	
			var kat_id = $( this ).val();
			if (kat_id == 0) { return; }			
			$.ajax({
				type: "POST",	
				url: "query.php",	
				dataType: "json",	
				data: {query: 'getTip', kat_id: kat_id},	
				error: function (xhr, status, error) {   
  alert( status + ' | ' + error ); 
}
,				success: function ( data ) { 					
					for ( var i = 0; i < data.length; i++ ) {						
						$( '#tip' ).append( '<option value="' + data[i].tip_id + '">' + data[i].tip + '</option>' );
					}
					$( '#tip' ).prop( 'disabled', false );	
				}
			});
		});
	}); 
})();
Ответить с цитированием
  #36 (permalink)  
Старый 08.05.2014, 15:26
Профессор
Отправить личное сообщение для jsnb Посмотреть профиль Найти все сообщения от jsnb
 
Регистрация: 15.03.2014
Сообщений: 561

В общем, так еще хуже стало. Возвращайте всё как было. Надо смотреть что конкретно в переменных на каждом этапе и что в конце возвращается. Я не могу узнать, что у вас там в базе, что выбирается и что в результате из этого получается. Вы сами можете посмотреть что у вас там в переменных? И я так и не понял зачем к index файлу подключается query.php?
Ответить с цитированием
  #37 (permalink)  
Старый 08.05.2014, 16:17
Аспирант
Отправить личное сообщение для zazula Посмотреть профиль Найти все сообщения от zazula
 
Регистрация: 07.05.2014
Сообщений: 40

А куда подключать query если не к индексу? Пытаюсь вывести пост, но ничего не выводится, может быть первый select POST не передает? Еще все время выводится NULL, т.е. что данные не определены
Ответить с цитированием
  #38 (permalink)  
Старый 08.05.2014, 16:45
Профессор
Отправить личное сообщение для jsnb Посмотреть профиль Найти все сообщения от jsnb
 
Регистрация: 15.03.2014
Сообщений: 561

Сообщение от zazula Посмотреть сообщение
А куда подключать query если не к индексу?
Еще раз, зачем он туда подключается? В чем его там роль состоит?

Сообщение от zazula Посмотреть сообщение
Пытаюсь вывести пост, но ничего не выводится, может быть первый select POST не передает? Еще все время выводится NULL, т.е. что данные не определены
Я не могу сказать, что у вас там передается, потому что у меня нет доступа к вашим данным. Откройте вкладку сеть в средствах разработчика браузера и посмотрите что у вас уходит на сервер в POST запросе.
Ответить с цитированием
  #39 (permalink)  
Старый 08.05.2014, 17:04
Аспирант
Отправить личное сообщение для zazula Посмотреть профиль Найти все сообщения от zazula
 
Регистрация: 07.05.2014
Сообщений: 40

Сообщение от jsnb
Еще раз, зачем он туда подключается? В чем его там роль состоит?
Он нужен для вывода категорий в первый select
Ответить с цитированием
  #40 (permalink)  
Старый 08.05.2014, 17:06
Аспирант
Отправить личное сообщение для zazula Посмотреть профиль Найти все сообщения от zazula
 
Регистрация: 07.05.2014
Сообщений: 40

Но в общем вы правы) Я перенесла запрос для первого select в index, убрала этот include и у меня исчез NULL)))
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Метод для конвертирования едениц px, em, %, pt. jegit Элементы интерфейса 0 07.03.2013 16:15
Javascript SELECT - зависимые списки zakbc Events/DOM/Window 3 13.01.2013 00:37
Зависимые списки! DSHA Элементы интерфейса 12 27.06.2012 12:27
Проблема с динамическим формированием select elepsion jQuery 1 31.10.2010 14:31
динамические списки Shaci jQuery 0 14.12.2009 15:03