From 7ad74b4f60e355b60d7ca2c8e175ca19e9f35f3b Mon Sep 17 00:00:00 2001 From: Javier Toledo Date: Sat, 23 Aug 2014 12:09:13 +0100 Subject: [PATCH] Fix for #24 (Suggested by @swfideas) --- build/bootstrap-rating-input.min.js | 2 +- src/bootstrap-rating-input.js | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/build/bootstrap-rating-input.min.js b/build/bootstrap-rating-input.min.js index da81878..7270459 100644 --- a/build/bootstrap-rating-input.min.js +++ b/build/bootstrap-rating-input.min.js @@ -1 +1 @@ -!function(a){a.fn.rating=function(){function b(b,c,d,e){var f=a(b).find("[data-value="+c+"]");f.removeClass(e).addClass(d),f.prevAll("[data-value]").removeClass(e).addClass(d),f.nextAll("[data-value]").removeClass(d).addClass(e)}function c(b,c,d){var e=a(b);e.find("[data-value]").removeClass(c).addClass(d)}function d(a,b){a.val(b).trigger("change"),b===a.data("empty-value")?a.siblings(".rating-clear").hide():a.siblings(".rating-clear").show()}var e;for(e=this.length-1;e>=0;e--){var f,g,h=a(this[e]),i=h.data("max")||5,j=h.data("min")||0,k=h.val()||0,l=h.data("icon-lib")||"glyphicon";for(active=h.data("active-icon")||"glyphicon-star",inactive=h.data("inactive-icon")||"glyphicon-star-empty",clearable=h.data("clearable")||null,clearable_i=h.data("clearable-icon")||"glyphicon-remove",stars="",g=j;i>=g;g++)stars+=k>=g?[''].join(""):[''].join("");clearable&&(stars+=[' "].join(""));var m=h.clone(!0).addClass("hidden").data("max",i).data("min",j).data("icon-lib",l).data("active-icon",active).data("inactive-icon",inactive);f=['
',stars,"
"].join(""),h.parents(".rating-input").length<=0&&h.replaceWith(a(f).append(m))}a(".rating-input").on("mouseenter","[data-value]",function(){var c=a(this);input=c.siblings("input"),b(c.closest(".rating-input"),c.data("value"),input.data("active-icon"),input.data("inactive-icon"))}).on("mouseleave","[data-value]",function(){var d=a(this),e=d.siblings("input"),f=e.val(),g=e.data("min"),h=e.data("max"),i=e.data("active-icon"),j=e.data("inactive-icon");f>=g&&h>=f?b(d.closest(".rating-input"),f,i,j):c(d.closest(".rating-input"),i,j)}).on("click","[data-value]",function(b){var c=a(this),e=c.data("value"),f=c.siblings("input");return d(f,e),b.preventDefault(),!1}).on("click",".rating-clear",function(b){var e=a(this),f=e.siblings("input"),g=f.data("active-icon"),h=f.data("inactive-icon");return d(f,f.data("empty-value")),c(e.closest(".rating-input"),g,h),b.preventDefault(),!1}).each(function(){var d=a(this).find("input"),e=d.val(),f=d.data("min"),g=d.data("max");""!==e&&+e>=f&&g>=+e?(b(this,e),a(this).find(".rating-clear").show()):(d.val(d.data("empty-value")),c(this))})},a(function(){a("input.rating[type=number]").length>0&&a("input.rating[type=number]").rating()})}(jQuery); \ No newline at end of file +!function(a){a.fn.rating=function(){function b(b,c,d,e){var f=a(b).find('[data-value="'+c+'"]');f.removeClass(e).addClass(d),f.prevAll("[data-value]").removeClass(e).addClass(d),f.nextAll("[data-value]").removeClass(d).addClass(e)}function c(b,c,d){var e=a(b);e.find("[data-value]").removeClass(c).addClass(d)}function d(a,b){a.val(b).trigger("change"),b===a.data("empty-value")?a.siblings(".rating-clear").hide():a.siblings(".rating-clear").show()}var e;for(e=this.length-1;e>=0;e--){var f,g,h=a(this[e]),i=h.data("max")||5,j=h.data("min")||0,k=h.val()||0,l=h.data("icon-lib")||"glyphicon";for(active=h.data("active-icon")||"glyphicon-star",inactive=h.data("inactive-icon")||"glyphicon-star-empty",clearable=h.data("clearable")||null,clearable_i=h.data("clearable-icon")||"glyphicon-remove",stars="",g=j;i>=g;g++)stars+=k>=g?[''].join(""):[''].join("");clearable&&(stars+=[' "].join(""));var m=h.clone(!0).addClass("hidden").data("max",i).data("min",j).data("icon-lib",l).data("active-icon",active).data("inactive-icon",inactive);f=['
',stars,"
"].join(""),h.parents(".rating-input").length<=0&&h.replaceWith(a(f).append(m))}a(".rating-input").on("mouseenter","[data-value]",function(){var c=a(this);input=c.siblings("input"),b(c.closest(".rating-input"),c.data("value"),input.data("active-icon"),input.data("inactive-icon"))}).on("mouseleave","[data-value]",function(){var d=a(this),e=d.siblings("input"),f=e.val(),g=e.data("min"),h=e.data("max"),i=e.data("active-icon"),j=e.data("inactive-icon");f>=g&&h>=f?b(d.closest(".rating-input"),f,i,j):c(d.closest(".rating-input"),i,j)}).on("click","[data-value]",function(b){var c=a(this),e=c.data("value"),f=c.siblings("input");return d(f,e),b.preventDefault(),!1}).on("click",".rating-clear",function(b){var e=a(this),f=e.siblings("input"),g=f.data("active-icon"),h=f.data("inactive-icon");return d(f,f.data("empty-value")),c(e.closest(".rating-input"),g,h),b.preventDefault(),!1}).each(function(){var d=a(this).find("input"),e=d.val(),f=d.data("min"),g=d.data("max");""!==e&&+e>=f&&g>=+e?(b(this,e),a(this).find(".rating-clear").show()):(d.val(d.data("empty-value")),c(this))})},a(function(){a("input.rating[type=number]").length>0&&a("input.rating[type=number]").rating()})}(jQuery); \ No newline at end of file diff --git a/src/bootstrap-rating-input.js b/src/bootstrap-rating-input.js index 0ce910c..63234cc 100644 --- a/src/bootstrap-rating-input.js +++ b/src/bootstrap-rating-input.js @@ -6,7 +6,7 @@ // A private function to highlight a star corresponding to a given value function _paintValue(ratingInput, value, active_icon, inactive_icon) { - var selectedStar = $(ratingInput).find('[data-value=' + value + ']'); + var selectedStar = $(ratingInput).find('[data-value="' + value + '"]'); selectedStar.removeClass(inactive_icon).addClass(active_icon); selectedStar.prevAll('[data-value]').removeClass(inactive_icon).addClass(active_icon); selectedStar.nextAll('[data-value]').removeClass(active_icon).addClass(inactive_icon); @@ -43,7 +43,7 @@ clearable = originalInput.data('clearable') || null, clearable_i = originalInput.data('clearable-icon') || 'glyphicon-remove', stars = ''; - + // HTML element construction for (i = min; i <= max; i++) { // Create empty stars @@ -71,7 +71,7 @@ .data('icon-lib', lib) .data('active-icon', active) .data('inactive-icon', inactive); - + // Rating widget is wrapped inside a div el = [ '
',