javascript - 从 php 返回多个值到 jquery

标签 javascript php jquery ajax

我有一个 api,当我输入邮政编码时,它会返回一个城市列表和相关的地理区域。
例如:

postcode -3000 returns 9 cities and geo zone - A012 
postcode -3008 returns 12 cities and geo zone - C01

所以我写了下面的代码。输入邮政编码后,它会将城市附加到下拉列表中。效果很好

PHP

        if($response == NULL || $response < 1 )
        { 
        echo "wrong Postcode";
        } else{
        foreach ($response as $q)
        {
            $cty =  $q['city'];
            $geozone =  $q['geozone'];
            echo '<option value="'.$cty.'">'.$cty.'</option>';

        }

j查询

<script type="text/javascript">
$(document).ready(function()
{
$(".postcode").change(function()
{
var dataString = 'postcode='+ id;

$.ajax
({
type: "POST",
url: "load.php",
data: dataString,
cache: false,
success: function(val)
{
        $(".city").html(val);  
}
    });

   });

 });
</script>

问题是我需要将在 php 中返回的 $geozone 附加到输入框

因为我已经回应了选项值,所以我可以很容易地附加它

echo '<option value="'.$cty.'">'.$cty.'</option>';

但是我如何将 $geozone = $q['geozone']; 返回到我的主页,以便我可以将它与文本字段一起使用

最佳答案

我认为最好从 json 数据中构建选择。尝试将 php 更改为这样的东西

    if($response == NULL || $response < 1 )
    { 
        echo "wrong Postcode";
    } else{
        echo json_encode($response);
    }

这将返回一个包含城市和地理区域的完整响应的 json 数组,然后您需要使用 JS 构建表单

$.ajax({
   type: "POST",
   url: "load.php",
   data: dataString,
   cache: false,
   dataType: "json"
   success: function(val)
   {
      options = "";
      for(x in val){
          options += '<option value="'+val[x].city+'">'+val[x].city+'</option>'
      }
      $(".city").html(options);  
      $(".form").append('<input type="text" value="'+val[x].geozone+'">');
   }
});

这将为您构建表单。您必须将此代码调整为 json 响应和表单父选择器的 .form。

关于javascript - 从 php 返回多个值到 jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26126270/

相关文章:

javascript - KonvaJS - 在不使用偏移的情况下围绕光标旋转矩形

javascript - ACE 编辑器自动完成 - 自定义字符串

php - 将 PHP 变量传递给 onLoad (JS)

javascript - 如何使用 jQuery 显示/隐藏复选框选中/未选中状态的元素

javascript - jQuery 中 val.length 和 val().length 的区别?

javascript - 长循环的 IE 8-9 JavaScript 问题

php - 如何为每个键指定名称

php - 按 #id 滚动 div,我做错了什么?

jquery - 将 animation.css 中的 zoomIn 和 zoomout 集成到 Jquery Mobile,并转换 lightSpeedIn 和 lightSpeedout

javascript - 使用 list.js 不会显示 HTML5 音频