js jQuery, always have a number display at least two digits 00
I'm using the following to add one to number:
<div id="count">00</div>
<div id="count">03</div>
<div id="count">08</div>
<div id="count">12</div>
$('#count').text(function(i,txt) { return parseInt(txt, 10) + 1; });
I alwa开发者_运维百科ys want there two be 2 places, 00 even if the number is under 10. How can I get the func above, with JS, to always return the 2 00 places? So if the number computes to 3, it injects 03 into #count?
Thanks
$('#count').text(function(i,txt) { var c = parseInt(txt, 10) + 1; return (c<10) ? "0"+c : c; });
EDIT: But having multiple elements with the same ID is gonna cause problems somewhere.
Here's a little different approach from the others. Doesn't use a conditional operator.
$('#count').text(function(i, txt) {
return ("0" + (+txt + 1)).slice(-2);
});
It just assumes it will need the extra 0
, then returns a slice of the last two characters in the string.
You can add a "0"
if it's less than 10, like this:
$('#count').text(function(i,txt) {
var num = parseInt(txt, 10) + 1;
return num < 10 ? "0" + num : num;
});
I think it's just an example, but if it's not note that IDs have to be unique.
Try this one:
$('#count').text(function(i,txt) { return txt.length == 1 ? '0'+txt : txt; });
精彩评论