所以每次我创建一个新的会员时,它都会保存到数据库中,但没有名称。我一辈子都想不通这一点。
class Shop.Views.AffiliatesNew extends Backbone.View
template: JST['affiliates/new']
events:
'submit .form-container': 'addAffiliate'
initialize: ->
@collection.on('reset', @render, this)
@collection.on('add', @render, this)
render: ->
$(@el).html(@template(affiliates: @collection))
this
addAffiliate: (event) ->
event.preventDefault()
@collection.create({
name: $('#first').val()
})
<input type="text" name="name" id="first"/> <br />
.form-title
.submit-container
<input id="affiliate-button" type="submit" value="Submit" />
尝试使用类而不是 ID 来表示输入字段。您可能在页面上的其他地方有另一个#first
,这可能会导致只找到第一个(因浏览器而异)。
还可以使用this.$el.find(<selector>)
在视图中限定范围