2016-03-27 8 views
0

JavaScript ile yaptığından daha iyi bir yöntem olup olmadığından emin değilim, ancak form_dropdown'un seçili durumu değiştirildiğinde bir denetleyici aramaya çalışıyorum. Sayfamın bir kısmını değiştirmem gerekmiyor, kontrol cihazını tekrar yeni parametrelerle çağırmam gerek.Form_dropdown'u değiştirdikten sonra denetleyiciye yeni bir istek gönderin

Bunu en çok javascript/jquery ile yapmaya çalışıyorum.

Bunun için bir çözümü olan var mı?

İşte

benim girişimi ...

Görünüm

<?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> 

teşekkürler.

cevap

0

Eh, ben base_uri() 'yi controller_uri'nin başına eklemeyi unutmuşum gibi görünüyor. Dolayısıyla, sadece ...

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

hattını değiştirerek ve daha sonra

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

trick mü çağıran.

Umarım bu birilerine yardımcı olur. Bunu yapmanın daha iyi bir yolunu biliyorsanız, kendi cevabınızı bırakın.

Teşekkürler.

İlgili konular