【发布时间】:2021-12-16 22:52:12
【问题描述】:
我正在寻找一种方法来更改 rails form.select 字段中的选项,该方法基于另一个选择字段的选定选项。
我之前尝试这样做的方法是使用具有相同对象和不同选项集的两个单独字段,如下所示:
<%= form_with(model: my_model) do |form| %>
<div class="form-floating" id="input">
<%= form.select :input, ['a', 'b'], { }, class: "form-control" %>
<%= form.label :input %>
</div>
<div class="form-floating" id="output1">
<%= form.select :output, ['c', 'd'], { }, class: "form-control" %>
<%= form.label :output %>
</div>
<div class="form-floating" id="output2">
<%= form.select :output, ['e', 'f'], { }, class: "form-control" %>
<%= form.label :output %>
</div>
<script>
function onChange() {
var selected = $('#input option:selected').text()
if (selected == 'a') {
$('#output1').show()
$('#output2').hide()
}
if (selected == 'b') {
$('#output1').hide()
$('#output2').show()
}
}
$('#input').change(onChange)
$(window).on("turbolinks:load", onChange)
</script>
<%= form.submit class: "btn" %>
<% end %>
这种方法的问题是:output字段被创建了两次并且只提交了最后一个(id="output2"),所以我现在正在寻找一种方法来改变onChange中的选择选项() 方法用于单个输出 form.select 字段。
非常感谢您对此问题的任何帮助或替代解决方案,干杯。
【问题讨论】:
标签: javascript html jquery ruby-on-rails