Codeigniter 更改表单下拉列表后,向控制器提交新请求

Codeigniter 更改表单下拉列表后,向控制器提交新请求,codeigniter,Codeigniter,我不确定是否有比使用JavaScript更好的方法来实现这一点,但我正在尝试在表单下拉列表的选择状态更改时调用控制器。我不需要更改页面的某些部分,我只需要使用新参数再次调用控制器 我最难用javascript/jquery实现这一点 有人能解决这个问题吗 这是我的尝试 查看 <?php echo form_label('Select day', 'days[]', ''); echo form_error('days[]'); $day = array( '0' => 'Monda

我不确定是否有比使用JavaScript更好的方法来实现这一点,但我正在尝试在表单下拉列表的选择状态更改时调用控制器。我不需要更改页面的某些部分,我只需要使用新参数再次调用控制器

我最难用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>

看来我忘了在控制器的开头添加base_uri()。所以只要换一条线

var controller_uri = "<?php echo base_url().$controller_uri ?>";
成功了

我希望这对某人有帮助。如果你知道更好的方法,请留下你自己的答案

谢谢

window.location = controller_uri;
// or
location.href = controller_uri;