CodeIgniter下拉列表(Javascript?) [英] CodeIgniter dropdown (Javascript?)

查看:96
本文介绍了CodeIgniter下拉列表(Javascript?)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有办法,我可以做一个下拉提交表单,而不单击按钮来提交它。我希望能够在我的网站上随时更改语言。我有所有的语言设置。这是我的下拉菜单:

Is there any way I can make a dropdown submit a form without clicking a button to to submit it. I want to be able to change languages on the fly in my site. I have the languages all set up. Here's my dropdown:

<?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();
?>

如何在没有提交按钮的情况下使表单工作?

How do I get the form to work without the submit button?

推荐答案

最简单的方法是使用jQuery。

The easiest way would be to use jQuery. Your form and dropdown should have IDs to make referencing them easier.

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

还包括以下javascript(您需要在页面上加载jQuery才能正常工作) 。

Also include the following javascript (you'll need to load jQuery on the page for this to work). I've included Google's hosted version but you could install it locally if you prefer.

<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事件这种情况下,你可以用简单的change()替换live(change),但是keyup覆盖了下拉菜单中的键盘更改。

You don't strictly need to bind to keyup, you could just bind to the change event (in which case you could replace live("change") with simply change() but keyup covers keyboard changes to the dropdown.

这篇关于CodeIgniter下拉列表(Javascript?)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆