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。我知道我必须从第一个表格中获取国家/地区 ID,在第二个查询中我应该是“从 countryid="$countryid" 的城市中选择 *

知道怎么做吗?

4

1 回答 1

0

可能最好的办法是使用组合 ajax 和 json。那么它应该是这样的。

获取城市.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);
?>

Javascript

$.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);
  }
});
于 2013-08-29T22:10:29.617 回答