CodeIgniter - 如何将值从视图传递到控制器?

时间:2015-07-15 03:47:10

标签: javascript php codeigniter

我想将我从javascript中获取的值传递给控制器​​。但我不使用任何功能。我只想访问控制器中视图中的值。我有以下观点。

<select id="selected_year" name="selected_year" data-live-search="true" style="margin-left: 27px;" >           
<option value="2015">2015</option>
<option value="2016">2016</option>
<option value="2017">2017</option>
<option value="2018">2018</option>
<option value="2019">2019</option>
<option value="2020">2020</option>
<option value="2021">2021</option>
<option value="2022">2022</option>
<option value="2023">2023</option>
<option value="2024">2024</option>
</select>

我使用以下javascript获取下拉值。

<script type="text/javascript">
    $("#selected_year").live('change', function() {
        var selected_year = $(this).attr("value");

       alert(selected_year);
       window.location.reload(); 

    });
</script>

我想将我从上面的javascript中获取的值传递给控制器​​。有可能吗?

4 个答案:

答案 0 :(得分:1)

您可以通过发送POST请求来完成此操作,该请求将被分派到控制器操作(同步或异步,具体取决于您的需要)或将其作为查询字符串传递到URL中,然后检查它是否存在于您的控制器中

答案 1 :(得分:0)

您可以通过三种方式将数据表格视图发送给控制器

1.POST ,GET(form submitio).
2.making it in link(URi segment)
3.via Ajax

答案 2 :(得分:0)

您可以使用AJAX在每次用户更改下拉列表时提交

var data = $('#selected_year').val();

     $("selected_year").on('change',function(){

     $.ajax({
        url: yourcontroller,
        type: 'POST',
        data: data,
        success: function (data) {

        },
    });

    });

答案 3 :(得分:-1)

创建一个控制器以提供网址的动态部分。

<script type="text/javascript">
$("#selected_year").live('change', function() {
    var selected_year = $(this).attr("value");

    // NEXT 2 LINES ARE THE SOLUTION. substitute your own controller URL on the next line.
    $url = '<?= base_url()index.php/controller/method?>/'+selected_year+'';
    window.location.reload($url); 

});
</script>

这是你的控制器:

function method($year){
     echo $year;
}