2013-05-29 179 views
-1

我有JavaScript代碼,它允許我添加更多的輸入值字段。動態刪除元素

現在我想添加功能,它允許我delete字段或元素。

<html> 
    <head> 
     <script language="javascript"> 
      fields = 0; 
      function addInput() { 
       var con = document.getElementById('text'); 
       if(fields != 10) 
       { 
        con.insertAdjacentHTML('beforeend', "<br></br>Study: <input type=\"text\" name=\"study[]\">Bug: <input type=\"text\" name=\"bug[]\"> BuildFile: <input type=\"text\" name=\"bname[]\" size=\"40\"> WAR File: <input type=\"text\" name=\"wname[]\" size=\"50\"><br />"); 

        fields += 1; 
       } 
       else 
       { 
        con.insertAdjacentHTML('beforeend', "<br />Only 10 instances allowed."); 
        document.form.add.disabled=true; 
       } 
      } 
     </script> 
    </head> 
    <body> 
    ... 
... 
<input type="button" onclick="addInput()" name="add" value="Add more Builds" /> 

編輯:

我曾嘗試以下和它的作品,但其消除我想刪除剛剛過去的一個或一個特定的所有元素。

function remove() { 
    element = document.getElementById('text'); 
    element.parentNode.removeChild(element) 

} 

<input type="button" value="Remove Element" onClick="remove('parent','child');"> 
+3

請問一個問題,告訴我們你嘗試過deleteInput()嘗試。 –

+1

element = document.getElementById('text'); element.parentNode.removeChild(element); ? –

+0

@ caleb.breckon - 我不是javascript專家,所以它會很好,如果你把你的語法放在一些燈 – Satish

回答

1

我建議你使用jQuery庫來做到這一點。

function deleteAllInputs() { 
    $('#text').find('input[type="text"]').each(function() { 
     $(this).remove(); 
    }) 
} 

看看下面這個例子,它可以幫助你:http://jsfiddle.net/Bu4Jh/

您可以將元素封裝到一個div中,以一次性刪除它們。

+0

我已經試過你的代碼不工作:(但你爲什麼使用全部刪除?我想刪除特定的輸入字段,怎麼做? – Satish

+0

你需要在頭文件中包含jQuery,它的工作原理。提到。 –

+0

檢查我編輯了我的問題 – Satish