• 0

Jquery range slider Add commas to integer


Question

10 answers to this question

Recommended Posts

  • 0

im a NOOB (thx to njlouch for a such bright tip) when it comes to scripting... jquery is updating the input field with integers now i dunno how to display them with comma seperate integers..

help with a code plz

Edited by hobier
  • 0

yeah i check them out found sample code too....but how to implement it so that the slider updates the integers on the fly...currently the js sample code which i found...i've to press submit button..

i've seperated the range slider value into two input field...amountmin and amountmax.....where should i add the script to convert the integers with commas ?

  • 0

I've adapted this Javascript code from a site I found with Google (http://www.mredkj.com/javascript/numberFormat.html#addcommas):

var formatNumber = function(number)
{
	number += "";
	var parts = number.split('.');
	var integer = parts[0];
	var decimal = parts.length > 1 ? '.' + parts[1] : '';
	var regex = /(\d+)(\d{3})/;
	while (regex.test(decimal))
	{
		integer = integer.replace(regex, '$1' + ',' + '$2');
	}
	return integer + decimal;
};

You can then modify the slider code:

$("#slider-range").slider({
	range: true,
	min: 0,
	max: 500,
	values: [75, 300],
	slide: function(event, ui) {
		$("#amount").val('$' + formatNumber(ui.values[0]) + ' - $' + formatNumber(ui.values[1]));
	}
});

  • 0

IT WORKS!!!

thankyou just need to edit slightly

CHANGE THIS:
while (regex.test(decimal))

TO:
while (regex.test(integer))

var formatNumber = function(number)
{
	number += "";
	var parts = number.split('.');
	var integer = parts[0];
	var decimal = parts.length > 1 ? '.' + parts[1] : '';
	var regex = /(\d+)(\d{3})/;
	while (regex.test(integer))
	{
		integer = integer.replace(regex, '$1' + ',' + '$2');
	}
	return integer + decimal;
};


$(function() {

$("#slider-range").slider({
	range: true,
	min: 0,
	max: 10000,
	values: [75, 300],
	slide: function(event, ui) {
		$("#amount").val('$' + formatNumber(ui.values[0]) + ' - $' + formatNumber(ui.values[1]));
	}
});
$("#amount").val('$' + $("#slider-range").slider("values", 0) + ' - $' + $("#slider-range").slider("values", 1));
	});

thanky you

Edited by hobier
  • 0

Since the range would be from 1,000 - 1000,000 Is it possible to have the initial values 5,000 - 10,000 with commas too

i dunno how to implement formatNumber here:

$("#amount").val('$' + $("#slider-range").slider("values", 0) + ' - $' + $("#slider-range").slider("values", 1));

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.