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[]