Why "more than" comparing numbers in JavaScript does not work. The following example returns true even when the mini number is less than the maximum.
mini and maxi are input form values. This example uses jQuery to get the values, but it can be easily removed.
var mini = $('form#filterPrice input.min').val(); //eg. 500 var maxi = $('form#filterPrice input.max').val(); //eg. 1500 if( mini.valueOf() > maxi.valueOf() ) { //also used: mini > maxi alert('test'); //alerts "test" even when mini is less than maxi $('form#filterPrice input.min').val( maxi ); //should switch values if mini > maxi $('form#filterPrice input.max').val( mini ); }
Replacing "mini> maxi" with "Math.max (mini, maxi) == mini" works fine. So the following works:
var mini = $('form#filterPrice input.min').val(); //eg. 500 var maxi = $('form#filterPrice input.max').val(); //eg. 1500 if( Math.max(mini, maxi) == mini ) { alert('test'); $('form#filterPrice input.min').val( maxi ); $('form#filterPrice input.max').val( mini ); }
javascript comparison math
Andres
source share