【问题标题】:increment number starting 0000 [duplicate]从 0000 开始的增量编号 [重复]
【发布时间】:2018-07-26 13:26:12
【问题描述】:

有没有办法以 5 位 0 显示增量值显示 当在文本框上显示时,我尝试在我的 javascript 上放置 00000,在模式内部我有显示增量值的文本框,当我打开我的模式时它显示 1 不 00001,希望你能帮助我。提前谢谢。

这是我的示例代码:

<input type="text" class="form-control"  name="id"  id="id" readonly style="width:45%; margin-top:30px;"  value=" <?php 
              include_once('connection.php');
               $sql="select max(id)
                from test2";
                $result = mysqli_query($conn,$sql);
                $row = mysqli_fetch_row($result);
                echo $row["0"];
                 ?> ">

这是我的javascript

<script>
function incrementValue()
{
    var value = parseInt(document.getElementById('id').value, 10);
    value = isNaN(value) ? 00000 :  value;
    value++;
    document.getElementById('id').value = value;
}
</script>

【问题讨论】:

  • 使用此行来格式化您的号码。该代码仅供参考,请根据您的需要进行修改。您只需要使用此语句即可。 var formattedNumber = ("00000" + value++).slice(-5); stackoverflow.com/a/8043061/1964336

标签: javascript php html


【解决方案1】:

将数字转换回字符串时必须添加零:

 function incrementValue() {
    var value = parseInt(document.getElementById('id').value, 10);
    value = value || 0;
    value++;
    document.getElementById('id').value = ("00000" +  value).substr(-5);
 }

【讨论】:

  • 谢谢 Jonas W.,它有效 :)
  • @ace 很高兴为您提供帮助 :)
  • 从 ES2017 开始,就有了很好的函数padStart。例如。 value.toString().padStart(5, "0");,看起来应该有更好的可读性。当然,你的方式也行得通:)
【解决方案2】:

你的incrementValue函数应该是这样的:

function incrementValue()
{
    var value = parseInt(document.getElementById('id').value, 10);
    value = new Array(6 - (value + '').length).join('0') + (value + 1);
    document.getElementById('id').value = value;
}
incrementValue();
&lt;input id="id" value='23' /&gt;

【讨论】:

  • 谢谢你的回答:)
  • 不客气
猜你喜欢
  • 2018-07-24
  • 1970-01-01
  • 1970-01-01
  • 2018-05-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-13
  • 1970-01-01
相关资源
最近更新 更多