From b8676a50ee22eb68e34fdd13935dd427e1f2ad98 Mon Sep 17 00:00:00 2001 From: Khaja Minhajuddin Date: Mon, 24 Oct 2011 08:56:36 +0530 Subject: [PATCH] fixed datalink binding for checkboxes --- 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..11c99e7 100644 --- a/vendor/assets/javascripts/backbone_datalink.js +++ b/vendor/assets/javascripts/backbone_datalink.js @@ -6,13 +6,19 @@ el = $(this); name = el.attr("name"); model.bind("change:" + name, function() { - return el.val(model.get(name)); + if(el.is(":checkbox")){ + return el.attr("checked", !!model.get(name)); + } + else{ + return el.val(model.get(name)); + } }); return $(this).bind("change", function() { - var attrs; + var attrs, newValue; el = $(this); attrs = {}; - attrs[el.attr("name")] = el.val(); + newValue = el.is(":checkbox") ? el.is(":checked") : el.val(); + attrs[el.attr("name")] = newValue; return model.set(attrs); }); });