You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于指定数值生成连续数字并填充至循环生成的输入框

批量输入框连续数值自动填充方案

需求概述

  • 从id为from_number的输入框获取起始数值(示例值10)
  • 通过PHP循环生成50个name="list"的输入框
  • 当from_number输入框失去焦点时,用JavaScript将起始值开始的连续递增数字依次填充到这些输入框中,示例期望填充值从10到50依次排列

现有代码

起始值输入框(HTML)

<label>
    <input type="text" class="form-control"
           id="from_number" placeholder="from_number"
           autocomplete="off">
</label>

PHP批量生成输入框代码

<?php
// 循环生成50个name为list的输入框
for ($i = 0; $i < 50; $i++) {
?>
<label>
    <input type="text" class="form-control" name="list"
           placeholder="list" autocomplete="off">
</label>
<?php
}
?>

当前JavaScript代码(存在逻辑错误)

$('#from_number').blur(function () {
    let begin = document.getElementById('from_number').value;
    let arr = [];
    let inputs = document.querySelectorAll('[name^="list"]');
    for (let i = 0; i < inputs.length; i++) {
        inputs[i].value = arr.push(begin++) + begin -1;
    }
});

问题分析

当前JavaScript代码存在两处关键问题:

  1. 未将获取的起始值转为整数,若输入为字符串类型会导致递增逻辑出错
  2. 引入无意义的数组arr,且数值计算逻辑错误,无法生成连续递增序列

修正后的JavaScript代码

$('#from_number').blur(function () {
    // 将输入值转为整数,确保数值运算正确
    let begin = parseInt(document.getElementById('from_number').value);
    // 精准匹配所有name为list的输入框
    let inputs = document.querySelectorAll('[name="list"]');
    
    // 循环填充每个输入框
    for (let i = 0; i < inputs.length; i++) {
        // 起始值 + 索引 = 当前输入框的目标值
        inputs[i].value = begin + i;
    }
});

效果说明

  • 当在from_number输入框输入10并失去焦点后,所有name="list"的输入框会依次填充10、11、12……直至10 + 输入框数量 - 1
  • 若需要填充值刚好到50,可调整PHP循环次数为41(50 - 10 + 1 = 41)

内容的提问来源于stack exchange,提问作者Mark Spencer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 22:20:46