アイテムのリストとクエリ テキスト フィールドがあります。テキストフィールドにクエリを入力すると、クエリに基づいてアイテムのリストをフィルタリングしたいと考えています。これどうやってするの?
ビューにイベントを追加しました:
events: ->
'submit #query_form' : 'filterLinks'
これにより、最初にリストを空にしてから、クエリ条件を満たすアイテムのみを表示する関数がトリガーされます。
filterLinks: ->
query = $('#query').val()
@collection.reset()
リストをフィルタリングするにはどうすればよいですか?
編集:これは完全なビューです:
template: JST['links/index']
initialize: ->
@collection.on('reset', @render, this)
@collection.on('add', @appendLink, this)
events: ->
'submit #new_link' : 'createLink'
'submit #query_form' : 'filterLinks'
render: ->
$(@el).html(@template())
@collection.each(@appendLink)
this
createLink: (event) ->
event.preventDefault()
@collection.create
title: $('#title').val()
description: $('#description').val()
url: $('#url').val()
category: $('#category').val()
votes: 0
$('#message').append('<div>Link has been added succesfully!</div>').fadeOut(5000)
appendLink: (link) ->
view = new Hotlynx.Views.Link(model: link)
$('#all_links').append(view.render().el)
filterLinks: ->
alert($('#query').val())
@collection.reset()