Skip to content

Instantly share code, notes, and snippets.

@awilfox
Created February 13, 2013 13:55
Show Gist options
  • Save awilfox/4944762 to your computer and use it in GitHub Desktop.
Save awilfox/4944762 to your computer and use it in GitHub Desktop.
how bad am I at life?
<script type="text/javascript">
var address_count = <%= @patron.addresses.count %>;
function buildField(name)
{
return $('<div class="field"><label for="patron_addresses_attributes_'+address_count+'_'+name+'">'+name+'</label><br /><input type="text" id="patron_addresses_attributes_'+address_count+'_'+name+'" name="patron[addresses_attributes]['+address_count+']['+name+']"></div>');
}
function buildTypeSelect()
{
var $field = $('<div class="field"><label for="patron_addresses_attributes_'+address_count+'_address_type>Address type</label></div>');
var $sel = $('<select id="patron_addresses_attributes_'+address_count+'_address_type" name="patron[addresses_attributes]['+address_count+'][address_type]"/>');
var types = <%= Address::ADDRESS_TYPES.to_s.html_safe %>;
$.each(types, function(i, e) {
$sel.append('<option value='+e+'>'+e+'</option');
})
$field.append($sel);
return $field;
}
function buildUpAddressForm()
{
var $addressPartial = $('<div class="address jqce"/>');
$addressPartial.append(buildTypeSelect());
$addressPartial.append('<div class="field"><label for="patron_addresses_attributes_'+address_count+'_address">Address</label><br /><textarea id="patron_addresses_attributes_'+address_count+'_address" name="patron[addresses_attributes]['+address_count+'][address]" cols="40" rows="2"></textarea></div>');
$addressPartial.append(buildField('town'));
$addressPartial.append(buildField('province'));
$addressPartial.append(buildField('postcode'));
$addressPartial.append(buildField('country'));
return $addressPartial;
}
$('.addbutt').click(function(e) {
var $partial = buildUpAddressForm();
$('.addresses').append($partial);
$partial.fadeIn();
address_count += 1;
e.preventDefault();
});
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment