2016-03-27 23 views
0

我不確定是否有更好的方式比使用JavaScript更好,但我試圖在form_dropdown的選擇狀態更改時調用控制器。我不需要改變我的頁面的一部分,我需要再次用新的參數調用控制器。在更改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

好吧,似乎我忘了將base_uri()添加到controller_uri的開頭。所以只是改變了線......

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

,然後調用

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

的伎倆。

我希望這可以幫助別人。如果你知道一個更好的方法來做到這一點,留下你自己的答案。

謝謝。

相關問題