Самый простой способ - использовать 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 охватывает изменения клавиатуры в раскрывающемся меню.