我有更多的文本输入文本

时间:2014-07-10 22:13:33

标签: jquery

我想在输入中选择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>');
        }
    });
});
});

1 个答案:

答案 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('');这会在显示当前计数后清除输入中的文件数。