2013-08-29 4 views
0

имейте небольшую проблему, у меня есть форма, с тремя полями, моя проблема в том, что это: на входах 2 и 3 я получаю через значения javascript для стран и городов, что я хочу чтобы сделать это, чтобы сделать вход города бросить значения из страны я выбранного на входе страны, Херес Javascriptполучить входные значения от другого ввода

 <script> 
var availableTags = [ 
<?php 

$sql = "select * from citys "; 
$rsd = mysql_query($sql); 

while($row = mysql_fetch_array($rsd)) 
{ 
    $pid=$row['cid']; 
    $city=$row['city']; 
    $state=$row['state']; 
?> 
    "<?php echo $city; ?>,<?php echo $state; ?>", 
    <?php } ?> 

]; 
$("#inputsearch21").autocomplete({ 
source: function(request, response) { 
var matches = $.map(availableTags, function(tag) { 
if (tag.toUpperCase().indexOf(request.term.toUpperCase()) === 0) { 
    return tag; 
    } 
}); 
response(matches); 
} 
}); 
</script> 

и сценарий страны такого же, изменение PHP для базы данных страны. я знаю, что я должен получить идентификатор страны из первой формы и во втором запросе я должен быть «выбрать * из Города, где CountryId =» $ CountryId»

любая идея, как это сделать?

+0

Ouch. Отформатируйте код, пожалуйста. Трудно смотреть на ... –

+0

Во второй строке с конца есть синтаксическая ошибка. Он закрывает функцию 'source', но имеет только'} 'вместо'}) ' – Itay

+0

, я редактировал там, более четко –

ответ

0

Вероятно самое лучшее, что нужно сделать, это работать с cobmination AJAX и JSON. Тогда это должно быть что-то вроде этого.

getCities.php

<?php 
    /* your connection ofc. */ 
    $con = database_connection(); 

    /* example unsecure please use PDO */ 
    $sql = "SELECT ID, Name FROM City WHERE Country = '" . $_GET['country'] . "'"; 
    $rsd = mysql_query($sql); 
    $res = mysql_fetch_array($rsd); 

    /* Return output in json format */ 
    echo json_encode($res); 
?> 

JavaScrip т

$.ajax({ 
    type: "GET", 
    url: "getCities.php", 
    data: { country: "Germany" } 
}).done(function(output) { 
    /* Example for select inputs */ 
    var cities = eval('(' + output + ')'); 
    var length = cities.length; 

    for(var i = 0; i < length; i++) 
    { 
    var newOption = $('<option/>'); 
    newOption.attr('text', cities[i].Text); 
    newOption.attr('value', cities[i].Value); 
    $('#ID-OF-SELECTBOX').append(newOption); 
    } 
}); 
+0

В этом примере я использовал поле выбора, но вы также можете использовать свой автоматический сценарий. –

+0

большое спасибо за ваш ответ, действительно помог! –

Смежные вопросы