【问题标题】:How to iterate over json objects and bind with html elemnts.?如何遍历 json 对象并与 html 元素绑定。?
【发布时间】:2014-09-27 05:02:34
【问题描述】:

我需要遍历来自控制器的 JSON 对象并将数据绑定到 html 元素。当我发出警报时,我正在获取对象。 如何遍历这些对象以访问单个数据,以便可以将其附加到 html 元素?

我尝试了以下代码。我这里只有几样东西做个demo,实际数组很大。

我的控制器:

     public function grid_view_ajax_function()
            {       
                $contacts_details="";
                $this->load->model('contact_model');
                $contacts_details= $this->contact_model->get_all_contacts();
                $result = array();
                $data   = array();
                foreach ($contacts_details as $row_data){
                $data['id']                  =$row_data['contact_id'];
                $data['image']               =$row_data['image'];
                $data['name']                =$row_data['first_name'];
                $data['last_name']           =$row_data['last_name'];    
                array_push($result, $data);

                }
                echo json_encode(array('data' => $result));
            }

main.js 文件来迭代 jquery 中的对象:

         $.getJSON(global_base_url + "contact/grid_view_ajax_function",function(data)
            {
            var div_data = ''; 
                $.each(data,function(i,data)
                {       

    div_data +='<div class="col-xl-15" data-id="'+data.index+'"><div class="panel"><div class="panel-heading"><img src="../asset/'+data.picture+'" class="img-responsive desaturate" /></div><div class="panel-body"><div class="name">'+data.name+'</div><div class="email">'+data.email+'</div><div>';
                });

JSON 数据:

{
  "data":[
   {
    "id":"1",
    "image":"4.jpg",
    "name":"Mack ",
    "last_name":"Jack",
    "title":"Adminstration",
    "city":"London"
   },
  {
    "id":"2",
    "image":"person-list.png",
    "name":"Renia",
    "last_name":"Jack",
    "title":"Archetectuer"
  }
 ]
}

【问题讨论】:

  • 这是PHP吗?如果是这样,请标记PHP。 “当我提醒我正在获取对象时” - 顺便说一句,你在哪里提醒?
  • @TJ,我像 $.each(data,function(i,data) { alert(data); }
  • 那么请将其添加到问题中,以表明您可以访问数据。顺便说一句,我在 json 中没有看到 index、picture、email 等..?

标签: jquery json codeigniter


【解决方案1】:

你可以像这样迭代

//here ajax response object is assigned to data variable
var data = {"data":[{"id":"1","image":"4.jpg","name":"Mack ","last_name":"Jack","title":"Adminstration","city":"London"},{"id":"2","image":"person-list.png","name":"Renia","last_name":"Jack","title":"Archetectuer"}]};

var div_data = '';
$.each(data.data,function(i,data) {

  div_data += "<li>"+data.name+"</li>";
  
});
$("ul").html(div_data);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<ul></ul>

【讨论】:

  • 我怎样才能从 main .js 中的控制器获取 json 数据?
  • 这里的 a 指的是你从 ajax 调用中得到的数据
  • @mithun...它现在显示未定义的错误长度。
  • 您可以尝试在小提琴本身中运行代码。在控制台中没有显示任何错误。根据您的相关代码查看更新的代码。
猜你喜欢
  • 1970-01-01
  • 2012-03-23
  • 2018-07-29
  • 1970-01-01
  • 2020-04-07
  • 2019-06-07
  • 1970-01-01
  • 2021-01-14
相关资源
最近更新 更多