-1

我想获取用户从城市列表中选择的城市的商店地址。我使用 ajax 来显示城市。

$('.cn').change(function(){
            $('.st1 option').remove();
            $('.st1').append("<option value=''>&ltSelect city&gt;</option>");
            var curr=$(this).val();
            $.get('includes/pages/getcity.php',{cnid:curr},function(resp){
                var obj = jQuery.parseJSON(resp);
                    $.each(obj, function() { 
                        $data="<option value='"+this.id +"'>"+ this.city +"</option>";
                        $('.st1').append($data);
                    });
            });
        });
State <select name="state_id" class="select cn state_textbox" >
            <option>---Select State--</option>
            <?php 
                            $query="select * from state";
                            $result=mysql_query($query);
                            while($row=mysql_fetch_assoc($result)){
                                if($row['state_id']==0){
                                    echo "<option value='".$row['id']."'>".$row['state']."</option>";
                                }
                                }
                        ?>

        </select> <br><br><br>
        City<select class="st1 state_textbox" name="st1" style="margin-left:35px" >
                <option selected="selected">-- Select your city --</option> 
            </select>
4

2 回答 2

0

你错过了声明一个变量....

尝试这个

$.each(obj, function(i,v) { 
     var $data="<option value='"+v.id +"'>"+ v.city +"</option>";
   //^^^----here; 
     $('.st1').append($data);
 });
于 2013-03-28T09:48:50.493 回答
0

向选择框添加事件以处理所选项目:

<select name="state_id" class="select cn state_textbox" onchange="get_address(this.value);" >

在您的 jquery 脚本中:

    function get_address(state){  
        var post_url = "destination file to process the form";
            $.ajax({
                type: "POST",
                url: post_url,
                datatype: "json",
                success: function(data) 
                {
                    $('#address').val(data.address);
                }
            }); 
        }          
    });

当然,您将需要一个运行查询的函数来读取正确的地址并将其返回给该函数!也许是这样的:(PHP代码)

function get_address($state){
    $q = "select address from tablename where state=?";
    $query_result=$this->db->query($q,$em_code);
    $address;
    if($query_resul->result()){
        foreach ($query_resull->result() as $output) {
            $address = $output->address;
        }
    return $address;
    } else {
        return FALSE;
    }
}
于 2013-03-28T09:47:55.927 回答