0

在下面的代码中,我想在 div 或 label 元素中显示上传文件的大小。但是,当我想在输入元素中显示它时它不起作用。

 <script>
    var maxfilesize = 2097152;//2MB;
    $('#fuAttachments').live("change", function () {
        $("#msg").text("");

        var tt = $(this).val();

        var size = this.files[0].size;
        $("#msg").append(Math.ceil(size / 1024));

    });
</script>
<input id="fuAttachments" type="file" />

我想在#msg 中显示上传文件的大小

<input id="msg" type="text" />
4

5 回答 5

1

替换此行时它应该可以工作:

$("#msg").append(Math.ceil(size / 1024));

有了这个:

$("#msg").val(Math.ceil(size / 1024));

.val()函数设置所有匹配标签的 value 属性,同时该.append()函数在元素末尾插入内容。

于 2013-06-02T14:04:07.010 回答
1

使用“val”而不是“append”

$('#msg').val(size);
于 2013-06-02T14:04:41.177 回答
0

请使用以下脚本:

<script>
 var maxfilesize = 2097152;//2MB;
 $('#fuAttachments').live("change", function () {
    var size = $(this).files[0].size;
    $("#msg").val(Math.ceil(size / 1024));

 });
</script>
于 2013-06-02T14:08:08.857 回答
0

当我想将其显示为输入值时。使用.val(). .append()不适用于输入。

于 2013-06-02T14:03:27.397 回答
0

尝试:

$("#msg").val(Math.ceil(size / 1024));

或者

$("#msg").val(size);


为什么是.val?

Form jQuery Doc:
获取匹配元素集中第一个元素的当前值或设置每个匹配元素的值。.val() 方法主要用于获取输入、选择和文本区域等表单元素的值。在元素的情况下, .val() 方法返回一个包含每个选定选项的数组;如果未选择任何选项,则返回 null。

于 2013-06-02T14:04:55.333 回答