Я пытаюсь вызвать функцию javascript со страницы формы в проекте Rails 3. Мне нужно отправить функции идентификатор конкретного элемента. К сожалению, я не могу получить идентификатор легко, так как он автоматически генерируется плагином.
Я пытался сделать это так:
<%= t.select :number_type, @id_types, {}, {:onchange => "has_other_field(' + the_value.id.to_s + "');"} %>
<% if (!the_value.nil?) && (!the_value.number_type.nil?) && !@id_types_sm.include? the_value.number_type) %>
<script type="text/javascript">
setup_other_field("<%= the_value.number_type %>", ###ID WOULD GO HERE###);
</script>
<% end %>
.. Но так как я не знаю идентификатор элемента, я не могу вызвать его из функции.
Так что теперь я пытаюсь сделать это таким образом, вызывая функцию из «onload», когда элемент input загружается:
<% if (!the_value.nil?) && (!the_value.number_type.nil?) && (!@id_types_sm.include? the_value.number_type) %>
<%# Call the function from the form helper only if the conditions are met %>
<%= t.select :number_type, @id_types, {}, {:onchange => "has_other_field(this.id);", :onload => "setup_other_field('" + the_value.number_type + "', this.id);"} %>
<% else %>
<%# Use the form helper without calling the function %>
<%= t.select :number_type, @id_types, {}, {:onchange => "has_other_field(this.id);"} %>
<% end %>
НО я понимаю, что onload не работает для этой ситуации. Есть ли обходной путь для этого? Как я могу либо
A) получить идентификатор элемента из поля функции в первом варианте или
B) вызывать эту функцию из этого элемента ввода всякий раз, когда она загружается?
... или в) альтернативный способ сделать это?
Заранее спасибо, и дайте мне знать, если более подробная информация поможет.