【发布时间】:2017-06-01 21:07:05
【问题描述】:
在 Rails 5 上,我使用 datepicker jQuery UI 函数填充了一个带有日期的 hidden_field_tag。视图当前看起来像这样 -
<script>
$( function() {
$('#datepicker').datepicker({
inline : true,
altField : "#date_search",
onSelect : function(){ $('#date_search').submit();}
});
});
</script>
(...)
<%= form_tag(escala_index_path, :method => :get ) do %>
<%= hidden_field_tag("date_search") %>
<%= submit_tag "Search", name: nil %>
<% end %>
哪个工作正常。但是我想删除 submit_tag 并让表单提交更改的日期,因为在与 select_tag 类似的表单中,我尝试了 :onchange 选项:
<%= hidden_field_tag("date_search", "", :onchange => ("this.form.submit();")) %>
但是什么也没发生。关于我做错了什么的任何提示?
【问题讨论】:
-
onSelect : function(){ $('#date_search').submit();}应该类似于onSelect : function(){ $('#your-form-id').submit();},将your-form-id替换为您的表单ID。例如:<%= form_tag(escala_index_path, :method => :get, :id => 'my-form' ) do %>和onSelect : function(){ $('#my-form').submit();} -
乍一看它工作得很好,明天我会鬼混以确保,非常感谢您的快速回答!只是一个问题,如果在“onSelect”中我需要指定表单名称,而不是参数,为什么它与 submit_tag 一起使用?
标签: javascript jquery ruby-on-rails onchange hidden-field