title: Backbone.js: How to handle selection of a single view only?
body: <p>I am stuck on the following issue:</p>
  
  <p>I have a model with a property that defines if it is visibly selected or not, which I will call SelectModel for the purpose of this question.</p>
  
  <pre><code>SelectModel = Backbone.Model.extend({
  defaults:{
   isSelected: false
  }
  })
  </code></pre>
  
  <p>Now the first part that I do not really get is how I should handle the selection in general.
  If I want to use the observer pattern, my View should listen to the change of the isSelected property. But my view also triggers this in the first place, so I would have.</p>
  
  <pre><code>SelectView = Backbone.View.extend({
  initialize: function(){
  this.model.bind("change:isSelected", this.toggleSelectionVisually)
  },
  
  events: {
  "click" : toggleSelection
  },
  
  toggleSelection: function(){
  this.model.set({"isSelected": !this.model.get("isSelected");
  },
  
  toggleSelectionVisually:(){
  //some code that shows that the view is now selected
  },
  })
  </code></pre>
  
  <p>So this in itself already feels a bit absurd but I guess I just understand something wrong.</p>
  
  <p>But the part which I really fail to implement without making my code horrible is handling the selection for multiple models that only one model is selected at a time. </p>
  
  <pre><code>SelectListView = Backbone.View.extend({
  initialize: function(){
  this.collection = new SelectList();
  },
  
  toggleSelection: function(){
  ????
  }   
  })
  </code></pre>
  
  <p>So who should notify whom of the selection change? Which part should trigger it and which part should listen? I am really stuck on this one. For a single View it is doable, for a collection I am sadly lost. </p>