2010-10-22 5 views
0

J'ai une div en cours de duplication dynamique. Après le dédoublement, je dois enlever le nom de l'entrée cachée seulement, mais ne peux pas sembler pouvoir le sélectionner seulement. La majorité du fichier est prototype, mais j'ai jQuery à ma disposition (jq).Supprimer le nom de l'entrée masquée créée dynamiquement

J'ai réussi à faire disparaître le nom, mais il les efface tous, je veux seulement qu'il soit effacé sur le div dupliqué.

Aide appréciée.

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',''); 
} 

C'est la partie après appendChild.

quelques-unes des autres choses que j'ai essayé:

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

-

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

etc ...

Je suis sûr que c'est simple, mais je ne peux pas obtenir il ...

Répondre

2

Pour une entrée où le type d'attribut est égal caché:

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

Vous n'avez pas besoin de regarder votre nouveau noeud. Vous avez déjà une référence à cela. Utilisez-le simplement pour supprimer le nom.

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

je ne veux pas renommer le nœud lui-même, mais plutôt une entrée cachée à l'intérieur. – stormdrain

+0

Droit, mon mauvais. J'ai juste attrapé ça moi-même. sunn0 est la bonne réponse, comme indiqué. Mais c'est ce que je voulais dire, utilisez le nœud existant pour trouver votre élément. – Gregg

Questions connexes