![](/img/trans.png)
[英]How to pass variable from Controller to View with Ajax in Codeigniter?
[英]CodeIgniter - How to pass a value from a view to a controller?
我想将我从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中获得的值传递给控制器。 有可能吗?
您可以通过发送POST请求来完成此操作,该请求将被分派到控制器操作(同步或异步,具体取决于您的需要)或将其作为查询字符串传递到URL中,然后检查它是否存在于您的控制器中。
您可以通过三种方式将数据表单视图发送到控制器
1.POST ,GET(form submitio).
2.making it in link(URi segment)
3.via Ajax
您可以使用AJAX在每次用户更改下拉列表时提交
var data = $('#selected_year').val();
$("selected_year").on('change',function(){
$.ajax({
url: yourcontroller,
type: 'POST',
data: data,
success: function (data) {
},
});
});
创建一个控制器以提供URL的动态部分。
<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;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.