2015-10-29 2 views
0

Я бы хотел помочь. У меня это выпадающее меню для изменения валютыCodeigniter - jQuery изменение валюты из выпадающего меню

<select id="set-currency" class="form-control"> 
    <option value="usd">$ USD</option> 
    <option value="eur">€ EUR</option> 
    <option value="gbp">£ GBP</option> 
</select> 

И это мой сценарий

<script type="text/javascript"> 
    $('#set-currency').on('change', function() { 
     var selected = $(this).val(); 
     // alert(selected);  
     $.post({'<?php echo base_url('setcurrency'); ?>', selected }); 
    }); 
</script> 

, который посылает новую валюту настройки этой функции в MY_Controller

public function setcurrency($currency) { 
    // reset the currency 
    $this->session->set_userdata('currency_code', strtoupper($currency)); 
} 

I «Не так хорошо в javascript, так что вы могли бы помочь мне в том, как передать выбранное значение в функцию setcurrency, чтобы изменить валюту?

+0

Что происходит на данный момент? –

ответ

0

Вам необходимо отправить данные с помощью объекта, как это:

$.post('<?php echo base_url('setcurrency'); ?>', {currency: selected}); 

И в контроллере, получить размещенную переменную:

public function setcurrency() { 
    $currency = $this->input->post('currency'); 
    // reset the currency 
    $this->session->set_userdata('currency_code', strtoupper($currency)); 
} 

Reference:

+0

Как перенаправить или обновить страницу, чтобы проверить, правильно ли установлена ​​новая валюта? просто используйте 'redirect ($ go-to-previous-page);' внутри моей 'setcurrency' ??? – Lykos

+0

По какой-то причине, когда я переместил функцию setcurrency в другом контроллере, который расширяет MY_Controller, работал, но не стал бы больше иметь его внутри MY_Controller? – Lykos

0

Перенаправление внутри AJAX функция не будет работать.

$.post({'<?php echo base_url('setcurrency'); ?>', {your_post_data}, 
    function(data) { 
      //redirect here using window.location(); 
     } 
}); 
Смежные вопросы