public/javascripts/nested_fields.js in nested_fields-0.1.1 vs public/javascripts/nested_fields.js in nested_fields-0.2.0

- old
+ new

@@ -1,18 +1,30 @@ -$(function() { - $('.add_nested_fields').live('click', function() { - link = this; - - $.get(link.getAttribute('data-url'), function(content) { - $(link).after(content); - $(link).trigger('nested_fields_ready'); - }); - - return false; +$(document).ready(function() { + $('.nested_fieldset').each(function(i, nf) { + $(nf).trigger('nested_fields_ready'); }); +}); - $('.remove_nested_fields').live('click', function() { - $(this).closest('div.nested_fields').find('input[type=hidden]').val('1'); - $(this).closest('div.nested_fields').hide(); - return false; +$('.add_nested_fields').live('click', function() { + $.ajax({ + context: this, + url: this.getAttribute('data-url'), + success: function(content) { + $(this).after(content); + $(this).trigger('nested_fields_ready'); + } }); + + return false; +}); + +$('.remove_nested_fields').live('click', function() { + $(this).closest('div.nested_fields').find('input[type=hidden]').val('1'); + $(this).closest('div.nested_fields').hide(); + return false; +}); + +$('.nested_fields_has_one').live('change', function() { + var hidden_field = $(this).closest('.nested_fieldset').find('.destroy_nested_one'); + $(hidden_field).val($(hidden_field).val() == 'true' ? 'false' : 'true'); + $(this).closest('.nested_fieldset').find('.nested_one').toggle(); });