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

зависимые списки select
Добрый вечер! Пытаюсь сделать зависимые списки select и видимо где-то ошибка. Так как я только разбираюсь в ajax, не могу понять где она. Помогите, пожалуйста. Мне кажется, что ошибка где-то в запросе, т.к. при выборе категории выходит alert "При выполнении запроса произошла ошибка " Но что именно не так с запросом? Заранее благодарю за помощь!
Сам запрос
$tip = $mysqli->query("SELECT *
            FROM  `tip`
            WHERE  `id_kat` =  '".$_POST['kat_id']."'");       
        $arr = array();
        while($row = mysqli_fetch_assoc($tip)){
           $arr[] = array($row['tid'] => $row['tname']);
        }
        return $arr;
    
 
if (!isset($_POST['query']) || !$_POST['query']) {
    exit("Нет данных определяющих тип запроса");
}
else {
    
    $query = trim($_POST['query']); 
    // Определяем тип запроса
    switch($query) {
    case 'getTip':  
        // Формируем массив с ответом
        
        $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;
    }
}

(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 () {    
                    alert( "При выполнении запроса произошла ошибка :(" );  
                },
                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 );  
                }
            });
        });
    }); 
})();
Ответить с цитированием