JavaScript для отображения текущих options_for_select - PullRequest
1 голос
/ 25 октября 2010

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

<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, чтобы показать текущее значение поля выбора?

Спасибо

1 Ответ

0 голосов
/ 25 октября 2010

Ваш 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...