2011-03-14 113 views
1

有没有什么办法可以让我的下拉提交表单,而无需点击一个按钮来提交。我希望能够在我的网站上随时更改语言。我有所有的语言设置。这是我的下拉列表:CodeIgniter下拉列表(Javascript?)

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

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

回答

1

最简单的方法是使用jQuery。您的表单和下拉列表应具有ID,以便更轻松地引用它们。

$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,你可以只绑定到更改事件(在这种情况下,你可以取代现场(“变”)与简单的改变(),但KEYUP包括键盘修改下拉。

0

我用平变化与任何生活选择菜单......使得它非常非常容易断火等方法。

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