I think you're looking at the wrong line. You're decrementing the totalweight var.
weightpricearray = (pricesarray[--totalweight]).split(","); On Tue, Feb 3, 2009 at 2:02 PM, Zaliek <zali...@gmail.com> wrote: > > I've finished my shipping calculator script, but now for some reason > Math.ceil used on "var sum" in my script does the opposite of what > it's supposed to! When it's used in an older version of my script it > works correctly so I would assume I've done something wrong that's > borking the script now. > > This script correctly rounds up the totalweight to the next whole > number: > ------------------------------------------------------------------------------------------------ > <html> > <head> > <script type="text/javascript" src="jquery.js"></script> > <script type="text/javascript"> > $(document).ready(function() { > $("#calculateweight").click(function() { > var sum = 0; > $("input[name*='weight']").each(function() { > sum += Number($(this).val()); > }); > $("#totalweight").text( Math.ceil(sum) ); > return false; > }); > }); > </script> > </script> > </head> > <body> > <form> > <input type="hidden" name="weight1" value="1.1"> > </form> > <button id="calculateweight">Calculate Price</button><br /> > Total Weight: <span id="totalweight"></span><br /> > </body> > </html> > --------------------------------------------------------------------------------------------------- > > My shipping script does the opposite, it always rounds down the total > weight even if the result is a whole number: > ------------------------------------------------------------------------------------------- > <html> > <head> > <script type="text/javascript" src="jquery.js"></script> > <script type="text/javascript"> > $(document).ready(function() { > var totalweight = 0; > var zipcode = 00000; > var shortzip = 000; > var zonearray = new Array("005-212 8","214-268 8","270-342 > 8","344-344 8","346-347 8","349-352 8", > "354-418 8","420-427 8","430-462 8","463-464 7","465-497 8","498-509 > 7","510-513 6","514-514 7","515-516 6", > "520-528 7","530-532 7","534-535 7","537-551 7","553-561 7","562-562 > 6","563-563 7","564-567 6","570-576 6", > "577-577 5","580-587 6","588-588 5","590-595 5","596-599 4","600-620 > 7","622-631 7","633-641 7","644-668 7", > "699-699 6","670-673 7","674-681 6","683-693 6","700-701 8","703-708 > 8","710-711 7","712-714 8","716-722 7", > "723-723 8","724-731 7","733-735 7","736-736 6","737-737 7","738-739 > 6","740-741 7","743-769 7","770-772 8", > "773-775 7","776-777 8","778-782 7","783-785 8","786-789 7","790-794 > 6","795-797 7","798-799 6","800-807 5", > "808-811 6","812-816 5","820-831 5","832-834 4","835-835 4","836-837 > 4","838-838 4","840-847 5","850-850 5", > "852-853 5","855-855 5","856-857 6","859-860 5","863-865 5","870-872 > 6","873-874 5","875-875 6","877-885 6", > "889-891 5","893-895 4","897-898 4","900-908 5","910-928 5","930-935 > 5","936-954 4","955-955 3","956-959 4", > "960-960 3","961-966 4","967-969 8","970-972 2","973-974 1","975-977 > 2","978-978 3","979-979 4","980-985 3", > "986-986 2","988-989 3","990-992 4","993-993 3","994-994 4","995-997 > 7","998-998 6","999-999 5"); > var zone = 1; > var pricesarray = new Array("4.8,4.8,4.8,4.8,4.8,4.8,4.8,4.8",", > 4.8,4.8,4.99,5.37,6.67,7.18,7.69,8.3","5.08,5.08,5.81,6.64,8.15,9.35,10.07,11.41", > "5.64,5.64,6.6,7.62,9.78,11.29,12.29,14.03","6.33,6.33,7.58,8.55,11.56,12.98,14.43,16.37","6.98,6.98,8.6,9.84,13.34,14.64,16.62,18.71", > "7.68,7.68,9.58,11.14,15.23,16.34,18.76,21.04","8.14,8.14,9.95,12.24,16.7,17.76,20.61,23.63","8.37,8.37,10.64,13.04,18,19.18,22.41,26.3", > "9.05,9.05,11.49,14.16,19.5,21.26,24.59,28.59","9.76,9.76,12.37,15.33,21.05,23.38,26.78,30.93","10.36,10.36,13.2,16.45,22.56,25.45,28.96,33.22", > "10.64,10.64,13.53,16.92,23.78,27.3,30.11,34.36","11.01,11.01,14.14,17.67,24.86,28.82,31.81,36.08","11.47,11.47,14.74,18.55,25.61,29.43,32.14,36.85", > "11.84,11.84,15.26,19.12,26.17,30.08,32.86,37.76","12.25,12.25,15.77,19.49,26.78,30.89,33.72,38.75","12.49,12.49,16.27,19.91,27.35,31.51,34.33,39.66", > "12.9,12.9,16.65,20.2,28.01,32.26,35.23,40.66","13.23,13.23,16.87,20.57,28.47,32.88,35.9,41.58","13.6,13.6,17.11,20.89,28.94,33.4,36.51,42.38", > "13.92,13.92,17.43,21.22,29.6,34.14,37.37,43.44","14.24,14.24,17.67,21.82,30.12,34.76,37.99,44.2","14.57,14.57,17.86,22.48,30.73,35.47,38.89,45.3", > "14.89,14.89,18.13,23.23,31.25,35.99,39.45,46.06","15.21,15.21,18.32,23.97,31.91,36.84,40.31,47.53","15.63,15.63,18.6,24.68,32.33,37.36,40.88,49.31", > "16.1,16.1,18.82,25.33,32.76,37.88,41.5,51.12","16.61,16.61,19.01,26.09,33.18,38.35,42.07,52.74","17.11,17.11,19.3,26.78,33.64,38.87,42.64,54.5", > "17.58,17.58,19.48,27.53,34.07,39.39,43.21,56.31","18.04,18.04,19.94,28.24,34.49,39.92,44.25,58.09","18.27,18.27,20.46,28.88,34.92,40.44,45.48,59.75", > "18.45,18.45,21.01,29.39,35.66,41.62,46.72,61.52","18.68,18.68,21.52,29.81,36.42,42.75,48,63.29","18.87,18.87,22.08,30.19,37.22,43.83,49.28,65.06", > "19.05,19.05,22.54,30.62,37.92,44.97,50.57,66.82","19.24,19.24,23.1,30.99,38.67,46.25,51.75,68.53","19.47,19.47,23.58,31.36,39.47,47.38,53.09,70.36", > "19.84,19.84,24.08,31.69,40.27,48.46,54.27,72.02","20.25,20.25,24.54,32.06,40.64,49.6,55.6,73.41","20.63,20.63,25.02,32.39,41.49,50.68,56.89,74.41", > "21.04,21.04,25.43,32.72,42.43,51.91,58.16,75.37","21.41,21.41,25.95,33.05,43.37,52.99,59.44,76.27","21.78,21.78,26.41,33.38,44.31,54.18,60.73,77.17", > "22.19,22.19,26.73,33.7,45.15,55.31,61.96,78.04","22.57,22.57,26.91,33.98,46.15,56.54,63.29,78.94","22.98,22.98,27.15,34.31,47.08,57.67,64.57,79.76", > "23.36,23.36,27.34,34.59,47.92,58.71,65.91,80.56","23.67,23.67,27.57,34.91,48.87,59.85,66.95,81.57","24.14,24.14,27.76,35.52,49.81,60.98,67.56,82.43", > "24.46,24.46,27.94,36.22,50.74,61.69,68.14,83.24","24.92,24.92,28.13,36.83,51.64,62.16,68.71,84.06","25.25,25.25,28.26,37.44,52.63,62.63,69.23,84.86", > "25.67,25.67,28.46,38.19,53.56,63.1,69.8,85.58","26.04,26.04,28.6,38.8,54.41,63.57,70.27,86.34","26.45,26.45,28.78,39.4,55.25,64.01,70.8,87.11", > "26.83,26.83,28.92,40.1,55.96,64.43,71.27,87.82","27.24,27.24,29.06,40.76,56.34,64.86,71.69,88.44","27.56,27.56,29.2,41.36,56.67,65.23,72.84,89.11", > "28.02,28.02,29.29,42.11,56.95,65.99,73.97,90.31","28.35,28.35,29.43,42.72,57.28,66.41,75.12,91.74","28.81,28.81,29.57,43.38,57.56,66.79,75.88,93.17", > "29.13,29.13,29.66,44.03,57.84,67.21,76.35,94.64","29.55,29.55,29.75,44.59,58.12,67.55,76.78,96.12","29.92,29.92,30.08,45.29,58.36,67.97,77.15,97.51", > "30.34,30.34,30.5,46.04,58.97,68.3,77.59,99.04","30.71,30.71,30.87,46.65,59.81,68.59,77.96,100.42","31.13,31.13,31.29,47.25,60.71,68.96,78.35,101.9", > "31.49,31.49,31.66,48,60.99,69.25,78.67,103.33"); > var price = 0.00; > $("#calculateweight").click(function() { > var sum = 0; > $("input[name*='weight']").each(function() { > sum += Number($(this).val()); > }); > totalweight = Math.ceil(sum); > zipcode = $("#zipcode").val(); > shortzip = zipcode.substring(0, 3); > var curRangeStart, curRangeEnd; > for (var i = 0; i < zonearray.length; i++) { > curRangeStart = parseFloat(zonearray[i].substring(0, > 3)); > curRangeEnd = parseFloat(zonearray[i].substring(4, > 7)); > if (shortzip >= curRangeStart && shortzip <= > curRangeEnd) { > zone = parseFloat(zonearray[i].substring(8, > 9)); > break; > } > } > weightpricearray = (pricesarray[--totalweight]).split(","); > price = ("$" + weightpricearray[zone]); > $("#sumdisplay").text(sum); > $("#totalweight").text(totalweight + "lbs"); > $("#zipcodedisplay").text(zipcode); > $("#zipdisplay").text(shortzip); > $("#zonedisplay").text(zone); > $("#pricedisplay").text(price); > return false; > }); > }); > </script> > </head> > <body> > <form> > <input type="hidden" name="weight1" value="1"> > Destination Zipcode:<br /> > <input type="text" id="zipcode" value="00000" maxlength="5" size="5"> > </form> > <button id="calculateweight">Calculate Price</button><br /> > Sum: <span id="sumdisplay"></span></br /> > Total Weight: <span id="totalweight"></span><br /> > Zipcode: <span id="zipcodedisplay"></span><br /> > Zip: <span id="zipdisplay"></span><br /> > Zone: <span id="zonedisplay"></span><br /> > Price: <span id="pricedisplay"></span> > </body> > </html> > --------------------------------------------------------------------------------------------------------------------- > > Thanks for taking a look, I hope someone can give me some insight as > to why this is happening.