From 9897e5a9261d04ce663a0f0b6ad6a76a3bcedde1 Mon Sep 17 00:00:00 2001
From: Jonathan Otto <jonathan.otto@gmail.com>
Date: Wed, 17 Aug 2011 12:23:38 -0500
Subject: [PATCH] if the input element is a checkbox, read and set the checked
 property instead of using jquery's val()

---
 vendor/assets/javascripts/backbone_datalink.js | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/vendor/assets/javascripts/backbone_datalink.js b/vendor/assets/javascripts/backbone_datalink.js
index 15683c6..1cb15cb 100644
--- a/vendor/assets/javascripts/backbone_datalink.js
+++ b/vendor/assets/javascripts/backbone_datalink.js
@@ -6,16 +6,22 @@
         el = $(this);
         name = el.attr("name");
         model.bind("change:" + name, function() {
-          return el.val(model.get(name));
+          val = model.get(name)
+          if ( el.is("input[type='checkbox']") && (val == true || val == false) )
+            el.prop('checked', val);
+          return el.val(val);
         });
         return $(this).bind("change", function() {
           var attrs;
           el = $(this);
           attrs = {};
-          attrs[el.attr("name")] = el.val();
+          if ( el.is("input[type='checkbox']") )
+            attrs[el.attr("name")] = el.prop('checked');
+          else
+            attrs[el.attr("name")] = el.val();
           return model.set(attrs);
         });
       });
     }
   });
-})(jQuery);
+})(jQuery)
\ No newline at end of file