удалить имя из динамически созданного скрытого ввода - PullRequest
0 голосов
/ 22 октября 2010

У меня есть 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 ]

2 голосов
/ 22 октября 2010

Для ввода, где тип атрибута равен скрытому:

jq(newNode).find('input[type=hidden]');
0 голосов
/ 22 октября 2010
container.appendChild(newNode);
var nn=jq('newNode:hidden');
var hid=jq(nn).attr('name','');

Вам не нужно искать свой новый узел.У вас уже есть ссылка на это.Просто используйте его, чтобы удалить имя.

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