2010-10-25 4 views
1

Мне нужно, чтобы отобразить текущий выбор для выбора таблицы, как всплывающее поле, где в index.rhtml у меня есть этотJavascript для отображения текущего options_for_select

<SCRIPT LANGUAGE="JavaScript"> 
function checkData() 
{ 
var myTest = formid.table_id.options[formid.table_id.selectedIndex].value; 
alert 'myTest'; 
} 
</script> 

<% form_tag :controller => 'project_controller', :action => 'actionfor_menu', :id=>'formid' do %>  
     <p> 
     <select id="table_id" name="table_id" size="9"> 
     <%= options_from_collection_for_select(@monitors, 'id', 'name', @monitors.first.id) %> 
     </select> 
     </p> 
<% end %> 

Однако, каждый раз, когда я изменить выбор, ничего не происходит, и я не вижу никаких ошибок/предупреждений. Есть ли дополнительные строки, которые я должен добавить в функцию checkData, чтобы показать текущее значение поля выбора?

Спасибо

ответ

0

Ваш alert() вызов должен выглядеть следующим образом:

var myTest = formid.table_id.options[formid.table_id.selectedIndex].value; 
alert(myTest); 

Чтобы присоединить обработчик событий и такой, я бы реструктурировать это немного, как это:

<% form_tag :controller => 'project_controller', :action => 'actionfor_menu', :id=>'formid' do %>  
    <p> 
    <select id="table_id" name="table_id" size="9"> 
     <%= options_from_collection_for_select(@monitors, 'id', 'name', @monitors.first.id) %> 
    </select> 
    </p> 
<% end %> 
<script type="text/javascript"> 
    document.getElementById("table_id").onchange = function() { 
    alert(this.options[this.selectedIndex].value); 
    }; 
</script> 
+0

второй блок работает как шарм! спасибо :-) – niche

+0

@niche - добро пожаловать! –

Смежные вопросы