2011-03-14 93 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>