从动态创建的隐藏输入中删除名称

时间:2010-10-22 16:04:45

标签: jquery prototype

我有一个动态复制的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 个答案:

答案 0 :(得分:2)

对于属性类型等于隐藏的输入:

jq(newNode).find('input[type=hidden]');

答案 1 :(得分:0)

container.appendChild(newNode);
var nn=jq('newNode:hidden');
var hid=jq(nn).attr('name','');

您无需查找新节点。你已经有了它的参考。只需用它来删除名称。

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