2015-09-16 3 views
3

Работа с клоном jquery с текущим кодом, если я нажимаю кнопку «Добавить больше», я могу клонировать в оригинале, я могу прикрепить файл, но если я попытаюсь прикрепить любой файл в клонированный, он не работает.jquery clone входной файл не добавлял файл, когда clone div

Я попытался даже заменить идентификатор с классом, но до сих пор он не работает

Вот код JQuery

var count=0; 
    $(document).on("click", ".attch_add_button", function() { 
     var $clone = $('.cloned-row4:eq(0)').clone(true,true); 
     //$(".custom-file-input").closest('form').trigger('reset'); 
     //$(".custom-file-input").replaceWith('.check'.val('').clone(true)); 
     //alert("Clone number" + clone); 
     $clone.find('[id]').each(function(){this.id+=''}); 
     $clone.find('.btn_more').after("<input type='button' class='btn_right btn_less1' id='buttonless'/>") 
     $clone.attr('id', "added"+(++count)); 
     //$clone.find('#custom-file-input').val(''); 
     $clone.find('.preview').hide(); 
     $clone.wrap('<form>'); 
     $clone.closest('form').trigger('reset'); 
     $clone.unwrap(); 

     //$clone.find('input[type=file]').val(''); 

     //$clone.find('.pn_field').val(""); 
     $(this).parents('.medica_rpt').after($clone); 
    }); 

Вот скрипка Link

Просьба предложить здесь

+0

Нажмите кнопку справа от кнопки «Attach», и вы увидите, «ввод» неуместен. Вам нужно будет сделать глубокий клон, чтобы скопировать слушателей событий. – Shikkediel

+0

привет спасибо за предложение, что я устал от истины для клона, но не работает, можете ли вы мне помочь? – Mahadevan

+0

привет любезно предложите мне – Mahadevan

ответ

0

Вам необходимо прикрепить уникальные события для каждого элемента, если вы создаете функцию, которая ttaches события для принятого элемента проблема будет решена:

function addActions(container){ 

    var $preview = container.find(".preview"); 
    //var $acceptdiv = $("#accept_div"); 
    //$acceptdiv.hide(); 
    $preview.hide(); 

    container.find(".check").on("change", function(){ 
     alert("alert"); 
     var filename = this.value; 
     var files = this.files; 
     var URL = window.URL||window.webkitURL; 
     var url = URL.createObjectURL(files[0]); 
     $preview.attr("href", url); 
     $preview.show(); 
     //$acceptdiv.show(); 
     container.find("#file_name").val(filename).prop("disabled", true); 
    }); 

    } 

Я изменил свой пример:

jsfiddle