javascript函数中添加或缺少的数组元素

时间:2014-09-17 10:43:46

标签: javascript arrays function

每次调用函数时,此代码都会向第一个生成的菜单追加一个额外的元素。所有后续调用中都缺少每个数组中的最后一个元素。我似乎无法弄清楚为什么会这样。

<script type="text/javascript" language="javascript">

var elements = ['one','two','three','etc'];

var positions = ['Producer', 'Tech', 'Assist', 'Voice'];

function addNamelist() {

  var q = document.createElement('select');
    for (var j=0; j<positions.length; j++) {
        q.setAttribute('id', positions[j]);
        document.body.appendChild(q);
        var r = document.createElement('option');
        r.setAttribute('value', positions[j]);    
        var m = document.createTextNode(positions[j]);
        r.appendChild(m);
        document.getElementById(positions[j]).appendChild(r);
    } 
  var y = document.createElement('select');
    for (var i = 0; i < elements.length; i++) {
      y.setAttribute('id', elements[i]);
      document.body.appendChild(y);
      var z = document.createElement('option');
      z.setAttribute('value', elements[i]);
      var t = document.createTextNode(elements[i]);
      z.appendChild(t);
      document.getElementById(elements[i]).appendChild(z);    
    }   
}
</script>
</head>

<body>
<form action="editpageentry.php"><form>
<a href="#" onclick="addNamelist()">create field</a>

</body>
</html>

0 个答案:

没有答案