diff --git a/app/assets/javascripts/vanilla_nested.js b/app/assets/javascripts/vanilla_nested.js index fa59148..ff2574b 100644 --- a/app/assets/javascripts/vanilla_nested.js +++ b/app/assets/javascripts/vanilla_nested.js @@ -4,7 +4,10 @@ window.addVanillaNestedFields = function(event) { event.preventDefault(); - const element = event.target; + let element = event.target; + if (!element.classList.contains('vanilla-nested-add')) + element = element.closest('.vanilla-nested-add') + const data = element.dataset; const container = document.querySelector(data.containerSelector); const newHtml = data.html.replace(/_idx_placeholder_/g, Date.now()); @@ -126,7 +129,7 @@ document.addEventListener('DOMContentLoaded', function(){ document.querySelectorAll('.vanilla-nested-add').forEach(el => { - el.addEventListener('click', addVanillaNestedFields); + el.addEventListener('click', addVanillaNestedFields, true); }) document.querySelectorAll('.vanilla-nested-remove').forEach(el => { diff --git a/test/VanillaNestedTests/app/views/users/_form.html.erb b/test/VanillaNestedTests/app/views/users/_form.html.erb index afc919e..74b20ef 100644 --- a/test/VanillaNestedTests/app/views/users/_form.html.erb +++ b/test/VanillaNestedTests/app/views/users/_form.html.erb @@ -2,7 +2,9 @@ <%= form.label :name %> <%= form.text_field :name %> - <%= link_to_add_nested(form, :pets, '#pets') %> + <%= link_to_add_nested(form, :pets, '#pets') do %> + Add Pet + <% end %>

Pets

<%= form.fields_for :pets do |pet_f| %>