0

JQueryUI の DatePickerをノードに適用しようとしていますが、事前に作成されたすべてのノードで機能していますが、クローンを使用して新しいノードを挿入すると、適用できないようです。

以下は、新しいノードを作成するための私の関数です。

function addActivity()
{
    var what=["spacer","mWith","mType","mDate","mWhere"];
    var newActivity;
    for(i=what.length;i>0;i--)
    {

        newActivity = document.getElementById(what[i-1]).cloneNode(true);
        insertAfter(document.getElementById("mWhere"),newActivity); 
    }

}

編集:そして私のinsertAfter関数

function insertAfter(referenceNode, newNode) 
{
    referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);
}

そして、問題のHTMLを複製しようとしています

            <tr  id="mDate">
                <td>Activity Time: </td><td><input  class="dateTimeField" id="actTime" type="text" name="meetingDate[]" /></td>
            </tr>

JQueryをもう一度実行しようとしました

 $(function() {
$( ".dateField" ).datepicker();
$( ".dateTimeField" ).datetimepicker();
}); 

しかし、新しいノードには影響しないようです

試しても

onfocus="$(this).datetimepicker();"

運が悪い、何かアイデアはありますか?

4

1 に答える 1

0

理解した。どうやら、datepicker を適用する前に、ノードから ID とクラスを削除する必要があります。

以下を追加しました

        if(what[i-1]=="mDate")
        {
            $(newActivity).find('input').removeAttr('id');                  
            $(newActivity).find('input').removeAttr('class');                   
            $(newActivity).find('input').datetimepicker();
        }

   newActivity = document.getElementById(what[i-1]).cloneNode(true);
于 2013-03-08T20:08:42.443 に答える