使用JQuery,CodeIgniter

时间:2017-09-17 07:03:27

标签: php jquery codeigniter

========== 仍然需要帮助查看页面底部的更新 ==========

我想根据我的数据库中存在多少年来创建手风琴

我的表看起来像这样

 No | Course Code | Course name | Year
 1  | CC1         | CN1         | 2015
 2  | CC2         | CN2         | 2016
 3  | CC3         | CN3         | 2017

你可以看到有3个不同的年份,所以我想制作3个手风琴并根据年份数据填充每个手风琴,我相信我们可以使用jquery但我没有逻辑,因为我是新的

  

这是我的控制器

public function getYear(){
    $query = $this->db->query('SELECT DISTINCT year FROM Subject');
    $number = $query->num_rows();//this is to get how many year in my table
    $i = 1;
    while ($i <= $no){
       //do something????    
    $i++;
    }
}
public function history_list_data(){//function statically populate list_data
    $data['get_data'] = $this->cms_dosen_m->getHistoryDosen()->result();
    $this->load->view('cms_dosen/history/list_data',$data);
}
  

JQuery的

<script type="text/javascript">
    $(document).ready(function () {
        $('#list_data').load("<?php echo site_url('cms_dosen/history_list_data') ?>");
    });
</script>

上面的JQuery只能制作一个静态手风琴并填充所有数据,而不是按年度过滤

我相信我们可以在JS中使用一个名为append的东西,但直到现在我还不知道它是如何工作的,以及如何解析我有多少年这个所谓的'追加'

========================= 更新 ============== ===========

我已经设法通过使用以下代码

制作基于年份的动态手风琴
<div class="panel-group" id="accordion">
        <div>
            <input type="hidden" name="banyakTahun" id="manyTahun" value="<?php echo $many_year?>">
        </div>
    <?php
        $i = 1 ;
        foreach ($year as $rows) : ?>
        <div class="panel panel-default"> 
            <div class="panel-heading">
                <h4 class="panel-title">
                <a id="<?php echo 'cobaDy'.$i;?>" data-toggle="collapse" data-parent="#accordion" href="#collapse1">
                    <input type="text" id="<?php echo 'hiddenValue'.$i?>" value="<?php echo $rows->ta?>" name="">Tahun Ajaran&nbsp <?php echo $rows->ta?></i>
                </a>
                </h4>
            </div>
            <div id="collapse1" class="panel-collapse collapse">
                <div class="panel-body">
                    <div id="list_data"></div>
                </div>
            </div>
        </div>
        <?php $i++?>
    <?php endforeach?>

我把隐藏的价值放在我的foreach中,但是如果我试着在JS中提醒它它总是给我2017的价值,有谁知道如何解决它?我的JS就是这样的

  

JS

<script type="text/javascript">
 $(document).ready(function(){
    $('#cobaDy').click(function(){
       var value =  $('#hiddenValue').val();
       /*var value = $(this).val();*/
       alert(value);
    })
 })
</script>

========================= 更新 ============== ===========

我设法获得每个循环的价值,并根据我在桌子上的多少年创建一个手风琴,现在我面临另一个问题,现在我面临着两个问题

  1. 我解析数据的方式不够顺畅
  2. 我想当我点击手风琴A时,未点击的手风琴将自动关闭,但我没有这样做,每次我打开1个手风琴,我需要先关闭它然后打开另一个< / LI>
      

    JQuery的

    $(document).ready(function(){
        var many = $("#manyTahun").val();
        for($i=1;$i<=many;$i++){
            $('#hiddenValue'+$i).click(function(){
                $.post(
                    '<?php echo site_url("cms_dosen/history_list_data");?>',
                    {'fak_id':$(this).val()},
                    function(data){
                        $("#list_data").html(data);
                    }
                );
            }) 
        }
     });
    

0 个答案:

没有答案