Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 基于选择更改rails中窗体的数据值_Javascript_Jquery_Ruby On Rails_Forms - Fatal编程技术网

Javascript 基于选择更改rails中窗体的数据值

Javascript 基于选择更改rails中窗体的数据值,javascript,jquery,ruby-on-rails,forms,Javascript,Jquery,Ruby On Rails,Forms,我已经做了一些搜索,可以;我找不到我想要的东西。不确定我是否需要Javascript来完成这一步,但我想检查一下我是否可以用rails来完成 我有一个表单,有两个下拉输入:time和:time\u end 这两个下拉列表都是使用my bookings.rb(下面)中的代码通过相同的方法填充的 像这样: <%= f.label :time, "Start Time" %> <select name="booking[time]"> <% Booking

我已经做了一些搜索,可以;我找不到我想要的东西。不确定我是否需要Javascript来完成这一步,但我想检查一下我是否可以用rails来完成

我有一个表单,有两个下拉输入:time和:time\u end

这两个下拉列表都是使用my bookings.rb(下面)中的代码通过相同的方法填充的

像这样:

  <%= f.label :time, "Start Time" %>
  <select name="booking[time]">
    <% Booking::TIME.each do |name, value| %>
      <option value="<%= name %>"><%= "#{name}" %></option>
    <% end %>
  </select>


  <%= f.label :time_end, "End Time" %>
  <select name="booking[time]">
    <% Booking::TIME.each do |name, value| %>
      <option value="<%= name %>"><%= "#{name}" %></option>
    <% end %>
  </select>

我想做的就是这样。如果我在:time字段中选择(例如)“10:00”,那么当我为:time_end字段选择下拉列表时,我只想选择那些出现在“10:00”之后的选项


这相当简单还是我需要一些javascript?谢谢大家!

使用angular.js,使用过滤器很容易做到这一点,但这意味着重新设计应用程序的很大一部分。。。除此之外,您还可以使用jquery轻松地完成这项工作,捕获更改事件并对数据进行过滤。将
change
事件附加到开始时间
select
,获取所选
选项的索引,然后在结束时间
select
中使用
index+1
设置
选项。顺便说一句,你的HTML看起来不正确:你在
select
中有一个
select
,你可能也应该给这两个
select
取不同的名字。谢谢大家。对不起,是的,选择标签有输入错误。我现在已经编辑过了。我将四处寻找一些javascript的例子,因为我对它不太在行。谢谢你的帮助:)
  <%= f.label :time, "Start Time" %>
  <select name="booking[time]">
    <% Booking::TIME.each do |name, value| %>
      <option value="<%= name %>"><%= "#{name}" %></option>
    <% end %>
  </select>


  <%= f.label :time_end, "End Time" %>
  <select name="booking[time]">
    <% Booking::TIME.each do |name, value| %>
      <option value="<%= name %>"><%= "#{name}" %></option>
    <% end %>
  </select>