2016-05-26 10 views
0

Ich habe eine einfache Liste mit Filter, und ich möchte den Filter löschen, wenn Sie auf clear (die aktualisiert auch die Liste mit allen Elementen).App nicht ausgeführt Js-Code in Assets/Javascripts

ich ein Formular in index.html.erb haben:

</br > 
<%= form_tag '', method: :get, remote: true do %> 
    <%= label_tag 'content:' %> 
    <%= text_field_tag :content %> 
    <%= label_tag 'submitter:' %> 
    <%= text_field_tag :submitter %> 
    <%= label_tag 'feeback type:' %> 
    <%= text_field_tag :feedback_type %> 
    <%= submit_tag 'Filter', class: 'btn btn-primary' %> 
    <%= link_to 'clear fields', feedback_messages_path, remote: true, type: 'button', class: 'btn btn-danger', id: 'clear-button' %> 
<% end %> 

In app/assets/feedback_messages, ich habe:

$("#clear-button").click(function() { 
    console.log('foo'); 
    $("#content").val(' '); 
    $("#submitter").val(' '); 
    $("#feedback_type").val(' '); 
}); 

In application.js, ich habe jede Kombination von require-Anweisungen versucht, aber keine. Hier ist, was ich jetzt habe, versuchen, explizit die js-Datei zu laden:

//= require jquery 
//= require jquery_ujs 
//= require bootstrap 
//= require turbolinks 
//= require feedback_messages 

Wenn ich die Webseite zu laden, die JS-Datei in Quellen zur Verfügung steht, wird aber nicht ausgeführt werden. Wenn ich die js zu index.html.erb in einem script-Tag verschiebe, funktioniert es, also glaube ich nicht, dass es ein Problem mit der js gibt.

Der Code funktioniert ordnungsgemäß mit Clearing-Listen, also schließe ich den Controller und js.erb Code aus.

Antwort

1

Pull Fern: true aus:

<%= link_to 'clear fields', feedback_messages_path, remote: true, type: 'button', class: 'btn btn-danger', id: 'clear-button' %> 

versuchen Sie es und lassen Sie mich wissen, was passiert.

+0

Können Sie erklären, warum dies asynchron ohne Remote funktioniert: True Param? Liegt es am Form-Tag? –

+0

Der $ ("# clear-button"). Klick (function() wird auf dem Formular ausgeführt. Also sagt der Link "# clear-button" mit remote true, dass eine Aktion auf dem Server stattfinden soll Ich bin mir nicht 100% ig sicher, aber ich glaube, dass das JavaScript, das remote true steuert, die Click-Funktion verschluckt hat. – DottedT

Verwandte Themen