2010-10-22 48 views
0

我有一個動態複製的div。在複製之後,我只需要從隱藏的輸入中刪除名稱,但似乎無法只選擇它。該文件的大部分是原型,但我有jQuery在我的處置(jq)。從動態創建的隱藏輸入中刪除名稱

我已經設法讓名字消失,但它將它們全部清除,我只希望它在重複的div上清除。

幫助讚賞。

function dupField(fieldName,container,dupediv){ 
    var container = $(container); 
    var dupedDiv = $(dupediv).cloneNode(true); 
    var totalins=jq("#MI_name > div").size(); 
    newNode=document.createElement('div'); 
    newNode.innerHTML=dupedDiv.innerHTML; 
    newNode.setAttribute('id',dupediv+totalins); 
    newNode.setAttribute('class','MI_inz'); 
    var inputs_txt = newNode.getElementsByTagName('input'); 
    var x = jq('#MI_label').val(); 
    for(j=0;j<inputs_txt.length;j++){//change text field names 
      var nameNow = inputs_txt[j].name; 
      var newName = nameNow+totalins; 
      inputs_txt[j].name=newName; 
      inputs_txt[j].value=''; 
    } 
    container.appendChild(newNode); 
    var nn=jq('newNode:hidden');//jQuery - this selects all the hidden's in the form-no good-only want to change hidden input in newNode 
    var hid=jq(nn).attr('name',''); 
} 

這是appendChild之後的部分。

一些其他的事情我已經試過:

var nn=jq('newNode:input(:hidden)'); 

-

var nn=jq(newNode).attr('id'); 
jq(nn+':hidden').attr('name',''); 

等等

我敢肯定,這很簡單,但我不能讓它...

回答

2

對於那些屬性類型等於隱藏的輸入:

jq(newNode).find('input[type=hidden]'); 
0
container.appendChild(newNode); 
var nn=jq('newNode:hidden'); 
var hid=jq(nn).attr('name',''); 

你不需要看你的新節點。你已經有一個參考。只是用它來刪除名稱。

jq(newNode).attr('name', ''); 
+0

我不想重命名節點本身,而是在它的隱藏輸入。 – stormdrain 2010-10-22 16:24:03

+0

對,我的壞。剛剛發現我自己。如所示,sunn0是正確的答案。但這就是我的意思,使用現有的節點來找到你的元素。 – Gregg 2010-10-22 16:25:43