Skip to content

Instantly share code, notes, and snippets.

@tarnacious
Created March 7, 2012 07:34
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save tarnacious/1991640 to your computer and use it in GitHub Desktop.
Save tarnacious/1991640 to your computer and use it in GitHub Desktop.
backbone example - serialize form + update on change
window.MyView = Backbone.View.extend({
initialize: ->
_.bindAll(this,'render')
this.template = window.JST["MyView"]
this.model.bind('change', this.render)
render: ->
$(this.el).html(this.template(this.model.toJSON()))
events: {
'change':'update'
}
update: ->
form = this.$("form").serializeObject()
this.model.set(form)
jQuery.fn.serializeObject = ->
arrayData = @serializeArray()
objectData = {}
$.each arrayData, ->
if @value?
value = @value
else
value = ''
if objectData[@name]?
unless objectData[@name].push
objectData[@name] = [objectData[@name]]
objectData[@name].push value
else
objectData[@name] = value
return objectData
@liammclennan
Copy link

I found it helpful to compile templates into JavaScript, so that they don't have to be included in the page https://gist.github.com/1977676

@NickJosevski
Copy link

Great, thanks guys.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment