2013-08-29 46 views
0

IM有一个小问题,得到的输入值,我有一个表格,有三个领域,我的问题是这样的一个: 在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。 我知道我必须从第一种形式得到国家ID,并在第二个查询我应该是“SELECT * FROM全市地方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 t

$.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

非常感谢您的回答,真的帮了大忙! –

相关问题