我在索引页面上有一个foreach循环,它显示了几个id的列表,并且在每个id前面有一个链接(名为detail),它只与该id相关。
索引页面上的代码是
<?php if($request_detail): ?>
<?php foreach($request_detail as $request): ?>
<?php echo $request->requestid; ?>
<a id="link" href="<?php echo base_url(); ?>recruiter/getrequestdetail/<?php echo $request->requestid; ?>"> Details </a>
<?php endforeach; ?>
<?php endif; ?>
<div id="container">
</div>
<script type="text/javascript">
$("#link").click(function(e) {
e.preventDefault();
$.ajax({
type: "get",
url: "<?php echo base_url(); ?>recruiter/getrequestdetail/<?php echo $request->requestid; ?>",
success: function(data) {
$('#container').html(data);
}
});
});
</script>
我从上面的代码得到的视图是
1 details
2 details
3 details
当用户点击详细信息链接时,我希望仅从另一个页面获取该ID的数据并将其显示在特定div下。
控制器
public function getrequestdetail($id)
{
$data['request_data'] = $this->recruiter_model->get_request_data($id);
$this->load->view('recruiter/request_data_view',$data);
}
模型
public function get_request_data($requestid)
{
/* query is getting executerd here */
return $query->result();
}
问题是,如果我点击第一个详细信息正在传递的ID 3,当我点击其他详细信息时,它会被重定向到另一个页面并且具有id 3
但我想要的是那个
当用户点击1前面的详细信息时,id 1的数据应该显示在同一页面的容器div中,
当用户点击2前面的详细信息时,id 2的数据应该显示在同一页面的容器div中,
当用户点击3前面的详细信息时,id 3的数据应显示在同一页面的容器div中,
任何人都可以告诉我们该怎么做
答案 0 :(得分:2)
其他人是否可以拥有驾驶执照号码或与您相同的护照号码。因为他们是身份,身份总是独一无二的。那么如何使所有链接具有相同的ID,因为它们来自foreach循环。
您必须使用类作为链接。而且你将最后一个ID(最后一次foreach迭代)传递给你的ajax调用。
<?php if($request_detail): ?>
<?php foreach($request_detail as $request): ?>
<?php echo $request->requestid; ?>
<a class="link" href="<?php echo base_url(); ?>recruiter/getrequestdetail/<?php echo $request->requestid; ?>"> Details </a>
<?php endforeach; ?>
<?php endif; ?>
$(".link").click(function(e) {
e.preventDefault();
var url = $(this).attr('href');
$.ajax({
type: "get",
url: url,
success: function(data) {
$('#container').html(data);
}
});
});
答案 1 :(得分:0)
更正您的控制器
$this->load->view('recruiter/request_data_view',$data);
$data = $this->load->view('recruiter/request_data_view',$data, true);
return $data;