2010-11-30 52 views
0

通过下面的脚本,我追加了3个元素,当单击追加按钮时。按钮onclick只检查第一个附加复选框

  • 复选框
  • 输入文本字段
  • 删除按钮

现在,当点击删除按钮的复选框被选中, 但是当我追加另一个(让我们把它叫做组)三项,脚本不起作用。

任何人都可以解释我怎么可以以某种方式链接元素。 因此,每次单击追加按钮时,元素都链接到在点击时同时创建的元素。

非常感谢你提前

<html> 
    <head> 
    <script language="Javascript"> 

    function append() 
    { 
    var cb = document.createElement("input"); 
    cb.type = "checkbox"; 
    cb.id = "id" 
      cb.checked = false; 

    var textfield = document.createElement("input"); 
    var delbtn = document.createElement("input"); 
    delbtn.type = "button"; 
    delbtn.value = "remove"; 
    delbtn.onclick= function(){remove()} 

    document.getElementById('append').appendChild(cb); 
    document.getElementById('append').appendChild(textfield); 
    document.getElementById('append').appendChild(delbtn); 
    } 


function remove() 
{ 
    id.checked = true;  
} 
    </script> 
    </head> 
    <body> 
     <div id="append"></div> 
     <input type="button" value="append" onClick="javascript:append()"/> 
    </body> 
</html> 

回答

1

每次追加一个新的复选框时,你正在运行

cb.id = "id" 

这是有问题的,因为元素都要有唯一的ID。

而且,你被它的ID在全球范围内引用元素:

id.checked = true; 

你应该使用标准的document.getElementById()来代替。

+0

谢谢,但这是否意味着我必须从三个创建的元素中创建一个数组? – Opoe 2010-12-01 10:54:14