Javascript Rails简单表单基于Select更新Div
我试图用用户在下拉列表中选择的值更新div中的文本,使用Rails5上的简单表单。它应该是这样工作的,但我不能让它以简单的形式工作: 这是两个下拉列表的ERB。第一个下拉列表有效,但第二个不起作用Javascript Rails简单表单基于Select更新Div,javascript,ruby-on-rails,simple-form,Javascript,Ruby On Rails,Simple Form,我试图用用户在下拉列表中选择的值更新div中的文本,使用Rails5上的简单表单。它应该是这样工作的,但我不能让它以简单的形式工作: 这是两个下拉列表的ERB。第一个下拉列表有效,但第二个不起作用 <select id="select1"> <option>Option 1</option> <option>Option 2</option> </select> <%= f.input :service_na
<select id="select1">
<option>Option 1</option>
<option>Option 2</option>
</select>
<%= f.input :service_name, collection: @my_services, label_method: :service_name, value_method: :service_name, id: "select2" %>
<div id="result1"></div>
<div id="result2"></div>
<script>
$(document).ready(function(){
$('#select1').change(function(){
$selected_value=$('#select1 option:selected').text();
$('#result1').text($selected_value);
});
$('#select2').change(function(){
$selected_value=$('#select2 option:selected').text();
$('#result2').text($selected_value);
});
});
事实证明,简单形式的id:select2并没有覆盖生成的id服务名称。相反,必须使用input_html,以使以下功能正常工作:
= f.input :service_name, collection: @my_services, input_html: {id: "select2"}
这里说明了这一点:这与rails无关,但与Javascript无关。顺便说一句:如果你是rails新手,我不建议你使用简单表单。请将Slim模板中呈现的原始HTML添加到你的问题中。我添加了一个使用HTML的下拉列表和另一个使用简单表单的下拉列表,但后者不起作用
= f.input :service_name, collection: @my_services, input_html: {id: "select2"}