开发者

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; });
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜