Раскрывающийся список CodeIgniter (Javascript?) - PullRequest
1 голос
/ 15 марта 2011

Можно ли как-нибудь сделать, чтобы выпадающий список отправлял форму, не нажимая кнопку, чтобы отправить ее.Я хочу иметь возможность менять языки на лету на моем сайте.У меня все языки настроены.Вот мой выпадающий список:

<?php echo form_open('languages'); 
    $language = array(
                        'select' => 'Select Language',
                        'english' => 'English',
                        'spanish' => 'Espa&ntilde;ol',
                        'german' => 'Deutsch',
                        'french' => 'Fran&ccedil;ais'
                    );

    echo form_dropdown('language', $language);
    echo form_hidden('current_page', uri_string());
    echo form_submit('submit', $this->lang->line('header6'));
    echo form_close();
?>

Как заставить форму работать без кнопки отправки?

Ответы [ 2 ]

1 голос
/ 15 марта 2011

Самый простой способ - использовать jQuery. Ваша форма и раскрывающийся список должны иметь идентификаторы, чтобы упростить ссылки на них.

$attributes = array('id' => 'form1');
echo form_open('languages', $attributes);
...
echo form_dropdown('language', $language, null, 'mydropdown');

Также включите следующий javascript (вам нужно загрузить jQuery на страницу, чтобы это работало). Я включил размещенную версию Google, но вы можете установить ее локально, если хотите.

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>

<script type="text/javascript">
        $(document).ready(function () {
            $("#mydropdown").live("change keyup", function () {
                $("#form1").submit();
            });
        });
    </script>

Вам не нужно строго привязывать к keyup, вы можете просто привязать к событию change (в этом случае вы можете заменить live («change») просто change (), но keyup охватывает изменения клавиатуры в раскрывающемся меню.

0 голосов
/ 15 марта 2011

Я использую onchange с любым живым меню выбора ... очень легко запускать другие методы.

<select id="myID" onchange="alert('Fired!')"><option value="gold">Beer</option>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...