2011-07-15 88 views
0

結果爲什麼在json_encode()中彼此相鄰?與json_encode()我的問題?

PHP:

function search_hotel(){ 
     $search_term = $this->input->post('search_hotel'); 
     $query = $this->db->order_by("id", "desc")->like('name', $search_term)->get('hotel_submits'); 
     $data = array(); 
     foreach ($query->result() as $row) 
     { 
      $data[] = $row->name; 
     } 
     echo json_encode(array('name' => $data)); 
// echo: {"name":["333333","\u0633\u0644","\u0633\u0644\u0627\u0633\u06cc","\u0633\u0644\u0627\u0633\u0633","\u0633\u0644\u0627\u0645"]} 
    } 

JS:

$('#hotel').keyup(function() { 
    var dataObj = $(this).closest('form').serialize(); 
    $.ajax({ 
     type: "POST", 
     url: 'http://localhost/Siran-mehdi/admin/tour/search_hotel', 
     data: dataObj, 
     cache: false, 
     dataType: 'json', 
     success: function (data) { 
      $(".list_name").toggle().html(''); 

      $.each(data.name, function(a,b){ 
       $(".list_name").append('<p>' + data.name + '</p>'); 
      });    
     }, 
     "error": function (x, y, z) { 
      // callback to run if an error occurs 
      alert("An error has occured:\n" + x + "\n" + y + "\n" + z); 
     } 
     }); 
    }); 

這是搜索結果有問題:

http://i.stack.imgur.com/mObpn.gif

我希望你明白我的意思。

+1

不,我不明白你的問題是什麼。請澄清 – Mchl

回答

1

$.each給你每個元素一次。你需要做

 $.each(data.name, function(a,b){ 
      $(".list_name").append('<p>' + b + '</p>'); 
     });