Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript onClick、clone和empty file属性_Javascript_Jquery_Jquery Ui - Fatal编程技术网

Javascript onClick、clone和empty file属性

Javascript onClick、clone和empty file属性,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,当文件输入更改并收到一个值时,我想将该值设置为tr.file\u名称。之后,我想克隆该TR并将其粘贴到 克隆可以工作,但对于多个文件,它不起作用。有人能帮我吗 <tr class="file_row"> <td class="file_title"></td> <td class="text-center"> <a class='btn btn-info btn-xs' href="#">

当文件输入更改并收到一个值时,我想将该值设置为tr.file\u名称。之后,我想克隆该TR并将其粘贴到

克隆可以工作,但对于多个文件,它不起作用。有人能帮我吗

<tr class="file_row">
    <td class="file_title"></td>
    <td class="text-center">
        <a class='btn btn-info btn-xs' href="#">
            <span class="glyphicon glyphicon-edit"></span> Edit
        </a> 
       <a href="#" class="btn btn-danger btn-xs">
           <span class="glyphicon glyphicon-remove"></span> Del
       </a>
    </td>
    <td>
        <div class="fileUpload btn btn-primary btn-xs">
            <span><b>+</b> Upload</span>
            <input type="file" class="upload" />
        </div>
    </td>
</tr>

从此处更改事件绑定:

$('.file_row').change(function(){
    file();
});
为此:

$('table').on('change','.file_row', function(){
    file();
});

因为方法更改只会在调用页面时绑定到页面上已经存在的事件。动态添加元素时,将事件委托给公共父级会起作用。

您忘记清理克隆的tr中的文件标题

$(行).find('.file_title').text('')


更新的JSFIDLE:

您应该在问题中包含一些相关代码(不是全部)。您的代码运行得更好。但奇怪的问题是:在我的本地主机上,它每次复制2个字段,而在JSFIDLE上,它工作正常(除了文件标题),哼,奇怪。如果不能繁殖,我可能帮不上忙。您在本地使用的jQuery版本与JSFIDLE使用的jQuery版本完全相同吗?尽管我对您的本地问题一无所知,但我做了一些更改,请检查它是否有用:它只克隆第一个版本,在它之后,它不再克隆您指的本地版本?因为它是用小提琴演奏的。你能创造一把小提琴来重现这个问题吗?
$('table').on('change','.file_row', function(){
    file();
});