2013-03-28 85 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); 
});