多个文件输入

时间:2013-06-04 16:07:02

标签: javascript jquery css multiple-instances input-field

我是所有这一切的新手,仍然主要在这个网站上学习,对我来说非常有用,并决定从你们那里得到一些帮助。

我设置了文件输入按钮,并在文本字段中打印了文件名。现在我想在同一页面上的多个文件输入(以及包含文件名的文本字段)上使用这些类。 (我需要更多文件输入,而不是一次更多文件)

我知道我可以使用ID并且只为我需要的每个文件字段复制JS,但是我想在一个函数中执行它,或者使它更具“动态性”以供大量使用。

所以,我要求一些帮助:)

HTML:

<div class="upload button left">
    <input class="upbtn" type="file" name="attachment" />Add attachment
</div>
<input class="filename" type="text" />

JS:

    $(".upbtn").change(function(e) {
        var datoteka = $(this).val();
        var lastIndex = datoteka.lastIndexOf("\\");
        if (lastIndex >= 0) {
            datoteka = datoteka.substring(lastIndex + 1);
        }
        $(".filename").val(datoteka);
    });

你可以在这里查看整件事:http://jsfiddle.net/k5cLt/5/

提前谢谢

2 个答案:

答案 0 :(得分:0)

这是可能的。我用了

   $(".upbtn").change(function(e) {
        var datoteka = $(this).val();
        var lastIndex = datoteka.lastIndexOf("\\");
        if (lastIndex >= 0) 
        {
            datoteka = datoteka.substring(lastIndex + 1);
        }
        var close = $(this).parent().next(".filename:first")
        close.val(datoteka);
   });

以下是JSFiddle

您输入的对齐方式可能并不理想,但JSFiddle显示了我认为您想要实现的目标。

答案 1 :(得分:0)

你有没有尝试过多个文件字段? 你所做的应该按原样运作。

$(".upbtn").change(...);

返回一个包含类.upbtn的jquery包装对象数组,并在所有这些对象上调用.change()。