为没有任何提交按钮的foreach循环的每次迭代调用ajax函数

时间:2015-11-29 21:29:13

标签: php jquery ajax codeigniter

我是php / CodeIgniter的新手,所以请原谅我,如果我的问题对你来说太愚蠢或无趣。

无论如何我想要做的是将值发送到ajax函数&不使用任何提交按钮打印foreach循环的每次迭代的结果。 ajax代码如下 `

$('#e1').ready(function(){          [ i think this line is wrong ]
  event.preventDefault();

$.ajax({                                                     
    url: "<?php echo base_url('view_cat/u_name');?>",
    type:'POST',
    data: {
    creator: $("#x").val(),
    },
    success:function(data)
    {  
     $(".e2").html(data);
    }
});
});

foreach循环..

foreach ($topic as $top){   
  echo "<form action='' id='e1' method='post' class='ee' >
        <input type='hidden' id='x' value=".$top->topic_creator." />;
        </form>"
 echo" <div class='e2'></div>"

控制器功能..

public function u_name(){
    $creator= $_POST['creator'];
    $result1= $this-> view_cat_model-> u_name($creator);
    echo "$result1->username";
}

和模型功能&#39;成员&#39;是一个不同的表

public function u_name($creator){
     $query2=$this->db->query("SELECT username FROM member WHERE user_id='".$creator."'"); 
     foreach ($query2->result() as $res)
     {
     return $res;
     }
}

但问题在于,我从每个foreach迭代的ajax函数得到相同的结果(第一个结果)!

1 个答案:

答案 0 :(得分:0)

直接调用Model /方法....忘记所有ajax。

 foreach ($topic as $top){   
    $res = ModelName->u_name($top);
    echo '<div class="e2">' . $res . '</div>';
 }