2016-03-27 6 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; 
を呼び出すと、トリックをしました。

私はこれが誰かを助けてくれることを願っています。あなたがこれを行うためのよりよい方法を知っているなら、あなた自身の答えを残す。

ありがとうございました。

関連する問題