如何在没有任何提交按钮的情况下动态显示基于所选年份的记录

时间:2017-06-06 13:16:44

标签: javascript php jquery mysql codeigniter

我正在研究PHP代码点火器。

我的观看代码如下:

<form method="post" action="">  
    <div class="col-md-4 col-sm-4 ">
        <div class="form-group">                            
            <label class="h5" for="Mode"><b>See year wise commitments</b></label>
            <select class="form-control" name="Year" id="Year"  onchange="this.form.submit()">
                <option value="">Select Year</option>
                <option value="2015">2015</option>
                <option value="2016">2016</option>
                <option value="2017">2017</option>
            </select>
        </div>
    </div>
</form>

只需从下拉列表中选择任意年份,我就必须将选定的年份传递给我的控制器并转换为模型并根据所选年份获取查询结果。

在我的控制器中,我收到的帖子如:

$selectedYear = $this->input->post('Year');

在选择任何下拉值之前,我视图中的记录必须是当前年份。

我的ajax代码是

$( "#year" ).change(function() {
    year = $(this).val();
    $.ajax({
          url : "controllerfilename/controllername",
          data : {"year": year},
          type : "post",
          success: function(data){
             console.log(data);
          }
   });

});

2 个答案:

答案 0 :(得分:3)

您可以通过下拉列表的更改功能对控制器进行ajax调用

    $( "#year" ).change(function() {
        year = $(this).val();
        $.ajax({
              url : "controller url",
              data : {"year": year},
              type : "post",
              success: function(data){
                 console.log(data);
              }
       });
   });

答案 1 :(得分:0)

您将 ID 定义为id="Year",但在 ajax 中,您将其称为$( "#year" ).change(function() {。意味着在ajax中year并在视图中Year(大写)。

试试这段代码:

$("#Year").change(function() {
year = $(this).val();
$.ajax({
      url : "<?php echo base_url('controllerfilename/controllername') ?>",
      data : {"year": year},
      type : "post",
      success: function(data){
         console.log(data);
      }
});
});