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