2011-08-22 26 views
0

我有以下代码:jQuery的插入文件输入的onchange错误

HTML

<label>File Upload: </label> 
<input type="file" name="file[]" /> 

jQuery的

$('#property_enquiry input[type=file]').change(function() { 
    $('<input type="file" name="file[]">').insertAfter("input[type=file]"); 
}); 

我希望发生的是,一旦第一个文件是添加一个新的输入被添加到当前的下面。上面的代码在添加第一个文件来创建第二个输入时起作用,但是当添加第二个文件时没有创建第三个输入。

回答

1

试试这个:

$('#property_enquiry input[type=file]').live('change', function() { 
    $('<input type="file" name="file[]">').insertAfter("input[type=file]:last"); 
}); 

这会自动将新添加的文件输入工作。

在这里尝试:http://jsfiddle.net/Lgmcz/

+0

谢谢,刚刚尝试过。它似乎是以倍数完成的,一旦第一个输入被填充,它就会添加第二个输入。当添加第二个文件到输入时,它会复制前两个输入(包括文件名),并在其底部添加一个新字段。 – lethalMango

+0

使用'.insertAfter(“input [type = file]:last”);' – arnaud576875

+0

宾果,就像一个魅力。非常感谢,节省了我几个小时的麻烦! :) – lethalMango