2013-08-29 79 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

非常感謝您的回答,真的幫了大忙! –

相關問題