我不确定是否有更好的方法来执行此操作而不是使用JavaScript,但我在尝试更改form_dropdown的选择状态时尝试调用控制器。我不需要更改页面的某些部分,我只需要使用新参数再次调用控制器。
我最难用javascript / jquery做这件事。
有没有人有解决方案?
这是我的尝试......
查看
<?php
echo form_label('Select day', 'days[]', '');
echo form_error('days[]');
$day = array( '0' => 'Monday', '1' => 'Tuesday', '2' => 'Wednesday', '3' => 'Thursday', '4' => 'Friday', '5' => 'Saturday', '6' => 'Sunday' );
echo form_dropdown('days[]', $day, '', 'id="select_day"');
$controller_uri = $this->uri->slash_segment(1).$this->uri->slash_segment(2).$this->uri->slash_segment(3).$this->uri->slash_segment(4).$this->uri->slash_segment(5);
?>
<script>
var controller_uri = "<?php echo $controller_uri ?>";
var select_day = document.getElementById('select_day');
$( "select" ).change(function() {
console.log( controller_uri ); // see what it looks like
// add the day (final argument) to the controller
var controller_uri = controller_uri + select_day.value;
// How to submit this as a controller request?
});
</script>
感谢。
答案 0 :(得分:0)
好吧,我似乎忘了将base_uri()添加到controller_uri的开头。所以只需更改线路......
var controller_uri = "<?php echo base_url().$controller_uri ?>";
然后调用
window.location = controller_uri;
// or
location.href = controller_uri;
诀窍。
我希望这有助于某人。如果您知道更好的方法,请留下您自己的答案。
感谢。