文件无法附加到克隆的html输入元素

时间:2015-08-28 09:40:20

标签: jquery cakephp

Cakephp

<?php
    echo $this->Form->input('images.', array(
        'type' => 'file',
        'class' => 'span12 tolet_img',
        'style' => 'width:100%;',
        'div' => array('class' => 'span8 required')
        )
    );
?>

jquery的:

$(document).ready(function(){
    var uploaderCount = 0;
    var $htmlString = $('.uploader:last').clone(true);
    $('.tolet_img').click(function(){    
        $htmlString.attr('id', 'uniform-file-'+uploaderCount);
        $htmlString.find('input[type=file]').attr('id', 'file-'+uploaderCount);
        uploaderCount++;
        $('.uploader:last').after($htmlString);
    });
});

此代码创建新输入字段我检查代码。一切都还好。但是由jquery创建的元素没有附加文件。为了解释我的问题,我附上了截图: enter image description here

第二个输入字段在单击第一个输入字段后成功创建,但是当单击第二个输入字段并尝试附加另一个文件时,它不会附加并保持为空。  这是现场演示:  http://www.jegeachi.com/tolets/add

我做错了什么。它杀了我的两天。它大约让我哭泣。请帮忙。

1 个答案:

答案 0 :(得分:1)

var uploaderCount = 0;
var $htmlString = $('.uploader:last').clone(true);

$(document).on("click",".tolet_img" function() {  
     $htmlString.attr('id', 'uniform-file-'+uploaderCount);
     $htmlString.find('input[type=file]').attr('id', 'file-'+uploaderCount);
        uploaderCount++;
     $('.uploader:last').after($htmlString);
});

当您重新创建它时,toilet_img元素不在同一范围内。