Javascript-如何在更改时重置字段

Javascript-如何在更改时重置字段,javascript,jquery,Javascript,Jquery,对不起。Javascript(使用jquery)noob。问题是 我有一个带有数字的选择字段: <div class="controls"> <select class="span2" id='select1' onchange="addstuff()"> <option value="1">1</option> <option value="2">2</option> <option va

对不起。Javascript(使用jquery)noob。问题是

我有一个带有数字的选择字段:

<div class="controls">
  <select class="span2" id='select1' onchange="addstuff()">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
  </select>
</div>
<div id="addfields"></div>

1.
2.
3.
然后,我循环遍历指定的数字,并在具有 “select1”的id

函数addstuff()
{
var num=parseInt($('#select1').val())
如果(num!=0)
{

对于(i=0;i您永远不会初始化
新字段
,您无论如何都应该这样做。如果这样做,您的问题也会得到解决

function addstuff() {
    var new_field = '';

顺便说一句,由于您使用的是jQuery,因此使用事件绑定比使用事件属性更容易

$("#select1").on('change', addstuff);

您也可以放弃定义
addstuff
并将其绑定为匿名函数。

轻松,谢谢您添加了这么多解释和代码……这应该可以满足您的需要:

function addstuff()
{
  var num = parseInt($('#select1').val());
  var new_field = "";
  if (num != 0)
  {
    for (i=0; i<num;i++)
      {
        new_field += "<p>" + num + "</p>";
      }
  $('#addfields').html(new_field);
  }
}
函数addstuff()
{
var num=parseInt($('#select1').val();
var new_field=“”;
如果(num!=0)
{

对于(i=0;我非常感谢您的回复!@user2152283别忘了升级投票,并接受有帮助的回答。我想在这里升级投票,但我的声誉不够高。您的解决方案似乎非常干净wrt事件绑定。我将仔细阅读此内容,我很可能会重写我的代码。再次感谢您。
<p> + num + </p>
<p> + num + </p>
function addstuff() {
    var new_field = '';
$("#select1").on('change', addstuff);
function addstuff()
{
  var num = parseInt($('#select1').val());
  var new_field = "";
  if (num != 0)
  {
    for (i=0; i<num;i++)
      {
        new_field += "<p>" + num + "</p>";
      }
  $('#addfields').html(new_field);
  }
}