0

我有一个 jquery

$(document).ready(function(){

        $(".files").on('change', function() {
            $('.file_fiels').append('<li><input type="file" name="attachments[]" multiple="multiple" class="files" /></li>')
        }); 

    })

和 HTML

<ul class="file_fiels">
<li><input type="file" name="attachments[]" multiple="multiple" class="files" /></li>
</ul>

这意味着,当有人向输入添加项目时,应该显示另一种输入类型。

它与第一个输入类型完美配合,它不适用于我在第一个输入类型上添加项目时创建的输入。

4

3 回答 3

2

在事件委托上使用动态添加的元素

$('.file_fiels').on('change', '.files', function() {
   $('.file_fiels').append('<li><input type="file" name="attachments[]" multiple="multiple" class="files" /></li>')
});

阅读有关委托事件的更多信息

于 2013-02-20T08:16:11.810 回答
1

由于父<ul>元素是静态的,您可以使用事件委托

$(".file_fiels").on("change", ".files", function() {
    $(".file_fiels").append("<li> ... </li>");
});
于 2013-02-20T08:14:19.183 回答
0

我一直使用.live()动态项目,它对我来说几乎完美无缺。

于 2013-02-20T08:23:02.437 回答