Php 选择区域时捕获城市

Php 选择区域时捕获城市,php,jquery,ajax,zend-framework,select,Php,Jquery,Ajax,Zend Framework,Select,我有两个选择——一个是地区,一个是城市。我想要的是,当我点击区域,它通过Ajax进入我的数据库并获取正确的城市。实际上我已经抓到了,但是我不能把它放在citiesselect中 以下是我在JS Select function onClick事件代码中的Ajax函数: $.ajax({ url: '/map/index/ajax', type: 'POST', dataType: 'json',

我有两个选择——一个是地区,一个是城市。我想要的是,当我点击
区域
,它通过Ajax进入我的数据库并获取正确的城市。实际上我已经抓到了,但是我不能把它放在
cities
select中

以下是我在JS Select function onClick事件代码中的Ajax函数:

$.ajax({
                url: '/map/index/ajax',

            type: 'POST',
            dataType: 'json',
            data: {
                // list of request parameters 
                'r_alias': valueRegionSelect
            },
            success: function(data) {
                console.log(data);
                $('#city_select').val(data.c_name);
            }
        });
console.log(数据)显示

正是我需要的

Ajax控制器:

public function ajaxAction() {
        $alias = $this->_getParam('r_alias');
        $result = Map_Model_Map_Factory::getCityByRegionAlias($alias);

        $this->view->cities = $result;
        $this->_helper->json($result);
    }
那么,我如何将其放入我的选择:

<select id="city_select" name="city">
                            <?php foreach($this->cities as $city): ?>
                            <option ><?php echo $city['c_name'] ?></option>
                            <?php endforeach; ?>
                        </select>

您没有正确使用数据,应该是

var html = "";
for (var i = 0; i < data.length; i++)
{
    html += '<option value="' + data[i].c_id + '">' . data[i].c_name . '</option>';
}
$('#city_select').html(html);
var html=”“;
对于(变量i=0;i
您没有正确使用数据,应该是

var html = "";
for (var i = 0; i < data.length; i++)
{
    html += '<option value="' + data[i].c_id + '">' . data[i].c_name . '</option>';
}
$('#city_select').html(html);
var html=”“;
对于(变量i=0;i
在成功回调中,您可以执行以下操作:

success: function(data) {
    //data       = $.parseJSON(data);
    var select = $('#city_select').empty();

    $.each(data, function(i, item) {
        select.append($('<option></option>')
              .attr('value',item.c_id)
              .text(item.c_name)); 
    });
}
成功:函数(数据){
//data=$.parseJSON(数据);
var select=$(“#城市_select”).empty();
$。每个(数据、功能(i、项){
select.append($('')
.attr('value',item.c_id)
.文本(项目c_名称);
});
}

未测试,但它应该可以工作。

在成功回调中,您可以执行以下操作:

success: function(data) {
    //data       = $.parseJSON(data);
    var select = $('#city_select').empty();

    $.each(data, function(i, item) {
        select.append($('<option></option>')
              .attr('value',item.c_id)
              .text(item.c_name)); 
    });
}
成功:函数(数据){
//data=$.parseJSON(数据);
var select=$(“#城市_select”).empty();
$。每个(数据、功能(i、项){
select.append($('')
.attr('value',item.c_id)
.文本(项目c_名称);
});
}

未测试,但它应该可以工作。

您需要创建选项标记来填充您的选择

$('#city_select').empty();
for (var i = 0; i < data.length; i++)
    $('#city_select').append($('<option>').val(data[i].c_id).html(data[i].c_name));
$('city_select').empty();
对于(变量i=0;i
您需要创建选项标签来填充您的选择

$('#city_select').empty();
for (var i = 0; i < data.length; i++)
    $('#city_select').append($('<option>').val(data[i].c_id).html(data[i].c_name));
$('city_select').empty();
对于(变量i=0;i