0

複製された要素の値を空白にする必要があります。

以下のコードはうまく機能しますが、値を複製しています。それを止める方法がわかりません。

var Move =  {

    copy    :   function(e, target) { 
                var eId     = $(e);
                var copyE   = eId.cloneNode(true);
                var cLength = copyE.childNodes.length -1;
                copyE.id    = e+'-copy';

                for(var i = 0; cLength >= i;  i++) {
                    if(copyE.childNodes[i].id) {
                    var cNode   = copyE.childNodes[i];
                    var firstId = cNode.id;
                    cNode.value = '';
                    cNode.id    = firstId+'-copy'; }
                }

                $('txtWoundCareLocation').value="";
                $(target).appendChild(copyE);
                },
    element :   function(e, target, type)   {
                var eId =   $(e);
                if(type == 'move') { $(target).appendChild(eId); }

                else if(type == 'copy')     { 
                    this.copy(e, target);
                }
                }
}
4

2 に答える 2

0

eId.cloneNode(true) は、HTMLNode ではなく、jQuery オブジェクトを返します。したがってcopyE、HTMLNode ではなく jQuery オブジェクトが含まれます。ただし、HTMLNode のように使用しています。これにより、問題が発生するはずです。

また、( のように) jQuery オブジェクトに値を設定しても$('txtWoundCareLocation').value=""、HTMLNode の値は変更されません。代わりに、jQuery.valメソッドを呼び出して HTMLNode 値を設定解除する必要があります。$('txtWoundCareLocation').val('');

これはjQueryに関するものだと思いました。私はプロトタイプには興味がありません、ごめんなさい。

于 2012-07-06T08:50:03.053 に答える
0

これをコピーの最後に置きます:

$(cnode.id).value="";
于 2012-07-17T05:56:01.307 に答える