1

SOを検索し、divのクローン作成に関する解決策をグーグルで検索しました.1つにjQuery Datepickerが含まれています。「新しい」クローン コードを変更する試みを数回試みましたが、否定的な結果が得られました。誰かが見て、私を正しい方向に向けることができれば、本当に感謝しています.

追加情報が必要な場合は、問題ありません。enter code here

前もって感謝します、ジャック

    $(document).ready(function(){

    $('.my_date').datepicker({    //Datepicker
        dateFormat: 'mm-dd-y',
    }); 

    $('#clonetrigger').click(function(){
        var yourclass=".clonable";              
        var clonecount = $(yourclass).length;   
        var newid = Number(clonecount) + 1;     

        $(yourclass+":first").fieldclone({      
            newid_: newid,                      
            target_: $("#formbuttons"),         
            insert_: "before",                  
            limit_: 4                           
        });
        return false;
    });

});


//The Plugin Script
(function($) {

    $.fn.fieldclone = function(options) { 

        //==> Options <==//
        var settings = {
            newid_ : 0,
            target_: $(this),
            insert_: "before",
            limit_: 0
        };
        if (options) $.extend(settings, options);           

        if( (settings.newid_ <= (settings.limit_+1)) || (settings.limit_==0) ){ 

            //==> Clone <==//
            var fieldclone = $(this).clone();
            var node = $(this)[0].nodeName;
            var classes = $(this).attr("class");

            //==> Increment every input id <==//
            var srcid = 1;
            $(fieldclone).find(':input').each(function(){
                var s = $(this).attr("name");           
                $(this).attr("name", s.replace(eval('/_'+srcid+'/ig'),'_'+settings.newid_)); 
            });

            //==> Locate Target Id <==//
            var targetid = $(settings.target_).attr("id");
            if(targetid.length<=0){
                targetid = "clonetarget";
                $(settings.target_).attr("id",targetid);
            }       

            //==> Insert Clone <==//
            var newhtml = $(fieldclone).html().replace(/\n/gi,"");
            newhtml = '<'+node+' class="'+classes+'">'+newhtml+'</'+node+'>';

            eval("var insertCall = $('#"+targetid+"')."+settings.insert_+"(newhtml)"); 

            newSection.find(".my-date").datepicker();   //Datepicker
        }
    };

})(jQuery);    
4

0 に答える 0