【发布时间】:2020-03-06 20:14:46
【问题描述】:
我想使用 foreach loop 按所选年份动态显示画廊。目前,我想给foreach loop 的 ajax 成功中存在 URL 数据的所有图像。
我按年份调用 ajax 请求 onChange() 将年份传递给 controller 然后 model 按选定年份获取数据。
但在我的 ajax 成功 console.log(data); 中,它显示了数据,但如何将我的图像 URL 提供给 foreach 循环。
查看:
<section id="gallery">
<div class="container-fluid pt-70 pb-0">
<form role="form" id="gallery_form" name="gallery_form" method="post" autocomplete="off">
<div class="row">
<div class="col-md-8 col-md-offset-2 ">
<div class="form-group" class="form-control">
<label><b style="color: #fff">Years</b></label>
<select class="form-control" name="year" id="year" style="color: #fff">
<option value="">Select Year</option>
<?php
foreach(range(2013, (int)date("Y")) as $year) {
echo "\t<option value='".$year."'>".$year."</option>\n\r";
}
?>
</select>
</div>
</div>
</div>
</form>
</div>
</section>
<div id="hide_gallery">
<section id="gallery" class="bg-lighter">
<div class="container-fluid pt-70 pb-0">
<div class="section-content">
<div class="row">
<div class="col-md-12">
<div class="gallery-lsit">
<?php foreach ():?>
<figure class="col-md-3">
<a class="img-popup pan" data-fancybox="gallery" href="#">
<img alt="picture" src="#" class="img-fluid">
</a>
<h3 class="text-center my-3"><?php echo ['']?></h3>
</figure>
<?php endforeach;?>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
<script>
$(document).ready(function() {
$("#hide_gallery").hide();
});
$('#year').on('change',function(){
var Year = $('#year').val();
$.ajax({
url :"<?php echo base_url();?>MainController/yearWiseGalleryPage",
type:"POST",
data:{
Year:Year,
},
dataType: "json",
success: function(data)
{
console.log(data);
$("#hide_gallery").show();
},
error:function(data)
{
alert("error message"+data);
},async:false,
});
});
</script>
控制器:
public function yearWiseGalleryPage()
{
$syear = $this->input->post('Year');
$Result = $this->web_model->yearWise($syear);
$formData = array('imgYear' => $Result);
echo json_encode($formData);
}
型号:
public function yearWise($syear){
$this->db->select('*');
$this->db->from('home_page_gallery');
$this->db->where('year',$syear);
return $this->db->get()->result_array();
}
【问题讨论】:
标签: javascript mysql sql ajax codeigniter