克隆div时,jquery clone输入文件没有添加文件

时间:2015-09-16 20:57:33

标签: javascript jquery html css

使用当前代码处理jquery克隆如果我单击添加更多按钮我能够在原始克隆中克隆我能够附加文件但是如果我尝试在克隆的文件中附加任何文件它不能正常工作

我甚至尝试用课程替换id,但仍然无法正常工作

这是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

请在这里建议

1 个答案:

答案 0 :(得分:0)

如果您创建一个将事件附加到已接收元素的函数,则需要为每个元素附加唯一事件:

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