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