我想在输入中选择pdfs,在选择pdfs之后我想显示文本输入。
例如:如果我选择2个pdf进行上传,我想显示2个文本输入,因为我想更改每个pdf的标题。
如果我一次选择了我想要的所有pdf,它就可以了。
但如果我一次选择一个pdf,我总是会得到更多的文本输入,这是我选择的pdf数量。
例如,如果我想选择2个pdf,但是我选择了第一个,我忘了我的第二个,如果这种情况发生,在我选择我的第一个后我会选择我的第二个忘记的pdf,但在这种情况下,我得到两个第二个pdf的文本输入。我只有两个pdf的共3个文本输入。 (所以,我有一个文字输入更多)
你知道为什么会发生这种情况吗?
您可以在此处查看我的问题演示:http://jsfiddle.net/j5yeq/4/
这是我使用的jQuery脚本:
$('.j_gsendp').click(function(){
$('.j_galleryp').click().change(function () {
var allFiles = this.files;
var numFiles = this.files.length;
alert(numFiles);
$('.j_gfalsep').animate({
width: '400'
}, 500, function () {
$(this).html('You select <strong>' + numFiles + '</strong>files.');
for (var i = 0; i < numFiles; i++) {
var file = allFiles[i],
name = file.name;
$('#test').append('<span class="field">Title of pdf ' + name + ':</span><input type="text" name="title[]" value="' + name + '"/><br><br>');
}
});
});
});
答案 0 :(得分:1)
<script>
$('.j_gsendp').click(function(){
$('.j_galleryp').click().change(function () {
var allFiles = this.files;
var numFiles = this.files.length;
alert(numFiles);
$('.j_gfalsep').animate({
width: '400'
}, 500, function () {
$(this).html('You select <strong>' + numFiles + '</strong>files.');
for (var i = 0; i < numFiles; i++) {
var file = allFiles[i],
name = file.name;
$('#test').append('<span class="field">Title of pdf ' + name + ':</span><input type="text" name="title[]" value="' + name + '"/><br><br>');
}
});
this.val('');
});
});
</script>
我添加了一个this.val('');这会在显示当前计数后清除输入中的文件数。