Javascript 使用jquery的动态表单存在问题

Javascript 使用jquery的动态表单存在问题,javascript,jquery,forms,dynamic-forms,Javascript,Jquery,Forms,Dynamic Forms,目前,我的表单会根据下拉选择的更改向表单中添加内容,但是我希望它现在也在新显示的输入框中执行类似的操作,因此,如果用户输入数字4,再次使用onChange,则表示它会显示4个新输入。所以我想要一个循环,这是我一直在尝试的: var inputt = document.getElementById("options"); inputt.onchange = function(){ var optionValue = parseInt(this.value); $('#container').emp

目前,我的表单会根据下拉选择的更改向表单中添加内容,但是我希望它现在也在新显示的输入框中执行类似的操作,因此,如果用户输入数字4,再次使用onChange,则表示它会显示4个新输入。所以我想要一个循环,这是我一直在尝试的:

var inputt = document.getElementById("options");
inputt.onchange = function(){
var optionValue = parseInt(this.value);
$('#container').empty();
for (i=0;i<=optionValue;i++)
{
$('<input type="text" value=""/>').appendTo('#container');      
}   
};
注意-我只做了第一个下拉选择

忽略那些破旧的样式,我现在只想要功能

请帮忙


关于,

如果您使用的是jQuery,我首先会使用

$("#options").bind("change",function(){
  //your code here
});
与直接设置.onchange属性不同,通常不鼓励以这种方式设置事件处理程序,原因有很多

然而,您的主要问题似乎是,您试图在创建选项输入之前绑定此事件处理程序。如果您使用我上面建议的方法,但改用live,即使选项输入还不存在,它也会起作用

//i've attached keyup in this example, but you could try modifying it to "change"
$("#options").live("keyup",function(e){
  var optionValue = parseInt(e.target.value);
  $('#container').empty();
  //note optionValue, not optionValue
  //note "<" rather than "<=", otherwise if you type "1" you'll get 2 inputs
  for (i=0;i<optionValue;i++) 
  {
    $('<input type="text" value=""/>').appendTo('#container');        
  }    
});
还要注意javascript是区分大小写的。我已将optionvalue更正为optionvalue


注意:我不打算在这里回答你的问题,但想帮你一点忙。在我看来,您的问题涉及到修复代码,因此这意味着您确实需要对许多不同的问题给出很多答案。这只是其中一个答案

您提供的JSFIDLE是错误的,所选的库是MooTools,它应该是jQuery.ye。这是错误的,我实际上一直在处理jQuery。道歉。仍然不起作用:当我修复这个问题时,我让你的代码正常工作,并为我提供了额外的输入框,你能更具体地说明你需要做什么吗,谢谢。你甚至没有在你的第一个calldocument.getelementbyid.上使用jquery。你为什么不在那里使用$符号呢?你有具体的问题吗,或者你只是想让别人帮你修改代码?你知道有什么好的教程网站可以做这样的事情吗?因为我正在努力寻找教育我的资源,所以我发现自己被代码和发布在这里的LoljQueryAPI文档所束缚。它们是jQuery info.ye的最佳资源,但问题是,我不知道,比如说,live的存在。否则,它真的可以归结为有条不紊地解决问题。在这里很容易看到,您正在尝试在元素存在之前附加事件处理程序。一旦你发现了这个问题,你就会得到一个特定的问题,这将使S.O.上的人更容易为你回答另一个建议-使用Chrome/Safari中的错误控制台或Firefox的Firebug extension。这将有助于您准确定位问题,并再次使S.O.问题更具体。别误会我的意思,S.O.可能是你最好的学习资源,但当你掌握了更多关于你问题具体性质的信息时,效果最好