Javascript 输入数字并根据输入的数字显示输入字段

Javascript 输入数字并根据输入的数字显示输入字段,javascript,jquery,html,dynamic,forms,Javascript,Jquery,Html,Dynamic,Forms,我想根据“多少”中输入的数字显示输入框的数字 我的代码不起作用 <input id="howmany" /> <div id="boxquantity"></div> Jquery/JavaScript $(function() { $('#howmany').change(function(){ for(i=0; i < $("#howmany").value; i++) { $('

我想根据“多少”中输入的数字显示输入框的数字

我的代码不起作用

<input id="howmany" />
<div id="boxquantity"></div>

Jquery/JavaScript

$(function() {
    $('#howmany').change(function(){
        for(i=0; i < $("#howmany").value; i++)
        {
            $('#boxquantity').append('<input name="boxid[]" type="file" id="boxid[]" size="50"/>'); 
        }
    });
});
$(函数(){
$(“#多少”).change(function(){
对于(i=0;i<$(“#多少”)。值;i++)
{
$('#boxquantity')。追加('');
}
});
});

我认为代码的问题在于它在jquery对象上使用了.value。我将$(“#howmany”).value替换为$(“#howmany”).val()

我还添加了一个删除功能来清除显示的输入数量

请运行代码片段,谢谢

$(文档).ready(函数(){
$(“#多少”).change(function(){
$(“#boxquantity input”).remove();
对于(i=0;i<$(“#多少”).val();i++){
$('#boxquantity')。追加('');
}
});
});

替换为
val
。您可以将
$(“#多少”).value
替换为
$(this.val()
)。此外,每个输入应有唯一的
id

$(函数(){
$(“#多少”).change(function(){
for(设i=0;i<$(this).val();i++){
$('#boxquantity')。追加('');
}
});
});

1st:使用
type=“number”
进行输入

第二:为了实时使用
on('input',)
而不是
。change
事件
。change
的工作原理类似于
。on('blur',)

第三:使用
.val()
而不是
.value

第四:当号码更改时,您需要重置
#boxquantity
div。。对我来说,最好将输入保存为html变量,然后使用
.html()
而不是
.append()
。。或者您可以使用
$('#boxquantity').html(''在for循环之前

$(文档).ready(函数(){
$(“#多少”)。在('input',function()上{
var输入=“”;
对于(var i=0;i<$(“#多少”).val();i++){
输入+='';
}
$('#boxquantity').html(输入);
});
});

工作代码,不带jQuery

将HTML构建到一个变量中,然后一次性附加到DOM中

var boxes = "";

document.getElementById("howmany").onchange = function() {
  boxes = "";
  var howmany = document.getElementById("howmany").value;
  for(i=0;i<howmany;i++) {
    boxes += '<b>File ' + i + '</b>: <input type="file" id="box' + i + ' name="box' + i + ' /><br/>';
  }
  console.log(boxes);
  document.getElementById("boxquantity").innerHTML = boxes;
}
var-box=”“;
document.getElementById(“多少”).onchange=function(){
方框=”;
var howmany=document.getElementById(“howmany”).value;

对于(i=0;i)您正在添加新元素。您从未删除任何以前添加的元素。这是什么问题?
console.log()
您的朋友是否也使用
.val()
而不是
.value
,因为jQuery不会直接公开属性,也不会重复类似
boxid[]