2013-03-28 71 views
-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> 
+0

有什么问题吗? – 2013-03-28 09:41:56

+0

我想获取用户选择的城市的地址和名称 – 2013-03-28 09:43:53

+0

这些值在哪里?向服务器发送一个Ajax调用并取回所需的结果。 :) – 2013-03-28 09:45:28

回答

0

的事件添加到选择框来处理所选择的项目:在您的jQuery脚本

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

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; 
    } 
} 
+0

该文件包含哪些内容? – 2013-03-28 09:53:35

+0

这个PHP函数返回它存储在jquery函数变量'data'中的$地址! – goseo 2013-03-28 10:07:42

0

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

试试这个

$.each(obj, function(i,v) { 
    var $data="<option value='"+v.id +"'>"+ v.city +"</option>"; 
    //^^^----here; 
    $('.st1').append($data); 
});