我想将我从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中获取的值传递给控制器。有可能吗?
答案 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;
}