2017-01-25 5 views
2

Ich versuche, einen Text in einem Div mit dem Wert zu aktualisieren, den der Benutzer in einer Dropdown-Liste auswählt, mit Simple Form on Rails5. Es sollte so funktionieren, aber ich kann es nicht in einfacher Form an der Arbeit: http://jsfiddle.net/zwzakdnv/Rails Simple Form Aktualisieren einer Div basierend auf Auswählen

= f.input :service_name, collection: @my_services, label_method: :service_name, value_method: :service_name, id: "service" 

#service_will_show_here 

javascript: 
$('#service').change(function(){ 
    $selected_value=$('#service option:selected').text(); 
    $('#service_will_show_here').text($selected_value); 
}); 

Hier ist die ERB beiden Aufklappmenü ist. Die erste Auswahl funktioniert, aber die zweite nicht

<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); 
    }); 
}); 

+0

Das hat nichts mit Schienen zu tun hat, aber Javascript. BTW: Wenn Sie zu den Schienen neu sind, würde ich nicht empfehlen, einfaches Form zu verwenden. – CottonEyeJoe

+0

Fügen Sie den rohen HTML, der von Ihrem Slim Vorlage gerendert wird, Ihrer Frage hinzu. – jeffdill2

+0

Ich habe die ERB eines Dropdown-Menüs mit HTML und ein anderes mit einfacher Form hinzugefügt, aber letzteres funktioniert nicht –

Antwort

0

Es stellt sich heraus, dass id: „select2“ in einfacher Form nicht die erzeugte ID „service_name“ außer Kraft setzen. Stattdessen hat input_html verwendet werden, so dass die folgenden Werke:

= f.input :service_name, collection: @my_services, input_html: {id: "select2"} 

Das hier Gesagte: Rails simple_form: custom input id

Verwandte Themen