如何在jquery中使用$ .each到iterarte行

时间:2017-05-15 06:15:14

标签: jquery ajax codeigniter

我是CodeIgniterIm的新手,从这个控制器获取数据 控制器:

public function selectAll(){
        $this->load->model('EmpModel');
        $res=$this->EmpModel->selectAll();
        if(count($res) > 0){
            echo json_encode(Array("success"=>"1"));
        }else{
            echo json_encode(Array("success"=>"0"));
        }
    }

我想使用$ .each()在视图中显示它 视图:

<table id="t_id">
        <tr>
            <th>id</th>
            <th>name</th>
            <th>email</th>
            <th>pass</th>
        </tr>
        <tbody>
    </table>
<button type="button" id="subBtn11"  >CLICK</button>
$("#subBtn11").click(function (){
    alert("ok");
   $.ajax({
      url:"<?php echo base_url('index.php/EmpCon/selectAll')?>",
      method:"get",
      dataType:"json",
      data:{

      },
      success:function (data){

          var arr=[];
         var trHTML = '';
              if(data.success==1){  
        $.each(data, function (i, item) {

            trHTML += '<tr><td>' + data.id[i] + '</td><td>' + data.name[i] + '</td><td>' + data.email[i]+'</td><td>'+data.password+'</td></tr>';
        });

        $('#t_id').append(trHTML);
        }else{
        alert("wrong");
        }
      },
      error:function(msg){
      alert(msg.responseText);
      }
   }); 
});

我搜索了查询,但没有得到任何令人满意的解释。谢谢。

3 个答案:

答案 0 :(得分:2)

我为$.each创建了示例请检查:https://jsfiddle.net/erwzpvok/

您可以在下方更改控制器文件以获取数据:

//Considering $res contain your data array.
$json = array("status" => "1", "data" =>$res);

echo json_encode($json);

然后尝试下面:

    var trHTML = '';
      // it might be data.data as per controller.
    $.each(data, function(i, item) {
// add all other fields, that you want to show in below trHTML.
      trHTML += '<tr><td>' + item.Id + '</td><td>' +item.Name + '</td></tr>';

    });

     $('#t_id').append(trHTML);

答案 1 :(得分:0)

尝试如下,但你没有从控制器返回对象。

$.each(data, function (i, item) {

            trHTML += '<tr><td>' + data[i].id + '</td><td>' + data[i].name + '</td><td>' + data[i].email+'</td><td>'+data[i].password+'</td></tr>';
        });

答案 2 :(得分:0)

成功为1时在控制器中传递数组

 public function selectAll(){
        $this->load->model('EmpModel');
        $res=$this->EmpModel->selectAll();
        if(count($res) > 0){
            echo json_encode(Array("success"=>"1","ss"=>$res));
        }else{
            echo json_encode(Array("success"=>"0"));
        }
    }

在$ .each()中访问ss数组

$。each(data.ss,function(i,item){

           // trHTML += '<tr><td>' + data[i].id + '</td><td>' + data[i].name + '</td><td>' + data[i].email+'</td><td>'+data[i].password+'</td></tr>';
            trHTML += '<tr><td>' + item['id'] + '</td><td>' + item['Name'] + '</td><td>' + item['email']+'</td><td>'+item['password']+'</td></tr>';
        });

这是正常的