У меня есть простой список с фильтром, и я хочу очистить фильтр, щелкнув clear (что также обновляет список со всеми элементами).Приложение не выполняет js-код в активах/javascripts
У меня есть форма в index.html.erb:
</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 %>
В приложение/активов/feedback_messages, у меня есть:
$("#clear-button").click(function() {
console.log('foo');
$("#content").val(' ');
$("#submitter").val(' ');
$("#feedback_type").val(' ');
});
В application.js, я ve пробовал каждую комбинацию требуемых заявлений, но никто не работает. Вот что у меня есть сейчас, пытаясь явно загрузить файл JS:
//= require jquery
//= require jquery_ujs
//= require bootstrap
//= require turbolinks
//= require feedback_messages
Когда я загрузить веб-страницу, файл JS доступен в источниках, но не будет выполняться. Если переместить js в index.html.erb в тег script
, он работает, поэтому я не думаю, что есть проблема с js.
Код работает надлежащим образом с клиринговыми списками, поэтому я исключаю контроллер и код js.erb.
Можете ли вы объяснить, почему это работает асинхронно без пульта: true param? Это потому, что он находится в теге формы? –
$ ("# clear-button"). Click (function() работает в форме. Таким образом, ссылка «# clear-button» с удаленным истинным указывает на то, что какое-то действие должно было произойти на сервере Я не уверен на 100%, но я считаю, что JavaScript, который управляет удаленной правдой, может проглотить функцию щелчка. – DottedT