2010-11-30 3 views
0

С приведенным ниже скриптом я добавляю 3 элемента при нажатии кнопки добавления.Кнопка onclick только проверяет первый добавленный флажок

  • флажок
  • поле ввода текста
  • Кнопка удаление

В настоящем время, когда кнопка удаления нажата флажок установлен, но когда я добавляю другой (давайте назовем его группа) три элемента, сценарий не работает.

Может кто-нибудь объяснить, как я могу связать элементы каким-то образом. Чтобы каждый раз, когда я нажимаю кнопку append, элементы привязываются к элементам, которые были созданы в одно и то же время при щелчке.

Большое спасибо заранее

<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.checked = true; 

Вы должны использовать стандартный document.getElementById() вместо этого.

+0

Спасибо, но означает ли это, что я должен сделать массив из трех созданных элементов? – Opoe 2010-12-01 10:54:14