更改输入类型="文件"标签内容

Akh*_*ran 1 html javascript css jquery

我想知道是否有任何方法可以隐藏或更改默认标签的内容:No file chosenfor

<input type="file" id="myFileInput"/>
Run Code Online (Sandbox Code Playgroud)

到目前为止我想出的是将其长度减少一半,以便显示工具提示.

$('input:file').css('width', parseFloat($($('input:file')).css('width'))/2 );
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

A. *_*lff 7

您不能将输入文件设计更改为每个浏览器的原生设计.但是你仍然可以模拟它,抱歉hacky:

见DEMO

<button id="btn_myFileInput">Choose file...</button>
<label for="btn_myFileInput">No file choosen or whatever...</label>
<input type="file" id="myFileInput" multiple />?
Run Code Online (Sandbox Code Playgroud)

JS:

$(function () {
    $('#btn_myFileInput').data('default', $('label[for=btn_myFileInput]').text()).click(function () {
        $('#myFileInput').click()
    });
    $('#myFileInput').on('change', function () {
        var files = this.files;
        if (!files.length) {
            $('label[for=btn_myFileInput]').text($('#btn_myFileInput').data('default'));
            return;
        }
        $('label[for=btn_myFileInput]').empty();
        for (var i = 0, l = files.length; i < l; i++) {
            $('label[for=btn_myFileInput]').append(files[i].name + '\n');
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

  • 谢谢......这就是我要找的东西. (2认同)