@GRO24

Подгрузка городов из input?

Всем привет!
Есть 2 input
Страна и город
При вводе страны, когда начинаешь вводить в инпут2 город, подгружаются города этой страны
Беда в том, что страны загружает корректно, а город - пустой постоянно
Писалось давно, раньше работал, а сейчас почему-то нет

JS
//подгрузка списка стран
    $('.country-load').autocomplete("autocomplete.php", {
            delay:400,
            minChars:2,
            matchSubset:0,
            autoFill:true,
            matchContains:1,
            cacheLength:1,
            selectFirst:true,
            extraParams: {type:1},
            maxItemsToShow:10,        
            onItemSelect:selectItem
    });

    //подгрузка списка городов
    $('.city-load').autocomplete("autocomplete.php", {
            delay:400,
            minChars:2,
            matchSubset:0,
            autoFill:true,
            matchContains:1,
            cacheLength:1,
            selectFirst:true,
            extraParams: {type:2,country:0},
            maxItemsToShow:10,
            width: 180
    });

	function selectItem(li, input) {    
		  if( li == null ) var sValue = "Ничего не выбрано!";
		  if( !!li.extra ) var sValue = li.extra[0];
		  else var sValue = li.selectValue;
		  $(input).attr('data', sValue);
	}


PHP
<?php



$dbhost = 'localhost';
$dbuser = '';
$dbpass = '';
$dbname = '';

function isAjax()
{
    return ( isset( $_SERVER['HTTP_X_REQUESTED_WITH'] ) and $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest' ) ? true:false;
}
if ( isAjax() ) {
    $mysql = mysql_connect( $dbhost, $dbuser, $dbpass );
    if ( $mysql ) {
        $db = mysql_select_db( $dbname, $mysql );
        if ( $db ) {
            @mysql_query( "SET NAMES utf8", $mysql );
            $query = mysql_real_escape_string( $_GET['q'], $mysql );
            $type = abs( intval( $_GET['type'] ) );
            if ( $type == 1 ) {
                $select = mysql_query( "SELECT * FROM country WHERE LOWER(name) LIKE '{$query}%'", $mysql );
                if ( mysql_num_rows( $select ) > 0 ) {
                    while ( $assoc = mysql_fetch_assoc( $select ) ) {
                        $data[] = $assoc['name'].'|'.$assoc['country_id'];
                    }
                    mysql_close( $mysql );
                    echo implode( "\n", $data );
                }
            }
            if ( $type == 2 ) {
                $country = abs( intval( $_GET['country'] ) );
                $select = mysql_query( "SELECT * FROM city WHERE country_id='{$country}' AND LOWER(name) LIKE '{$query}%'", $mysql );
                if ( mysql_num_rows( $select ) > 0 ) {
                    while ( $assoc = mysql_fetch_assoc( $select ) ) {
                        $data[] = $assoc['name'];
                    }
                    mysql_close( $mysql );
                    echo implode( "\n", $data );
                }
            }
        }
    }
}
?>
  • Вопрос задан
  • 509 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы