要使用javascript/jquery在输入标记中显示文件上载大小吗

要使用javascript/jquery在输入标记中显示文件上载大小吗,javascript,html,Javascript,Html,在下面的代码中,我想在div或label元素中显示上传文件的大小。但是,当我想在输入元素中显示它时,它不起作用 <script> var maxfilesize = 2097152;//2MB; $('#fuAttachments').live("change", function () { $("#msg").text(""); var tt = $(this).val(); var size = this.fi

在下面的代码中,我想在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" />

var maxfilesize=2097152//2MB;
$('#fuAttachments').live(“更改”,函数(){
$(“#msg”).text(“”);
var tt=$(this.val();
var size=this.files[0].size;
$(“#msg”).append(Math.ceil(size/1024));
});
我想在#msg中显示上传文件的大小



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

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

$("#msg").val(Math.ceil(size / 1024));
函数设置所有匹配标记的value属性,同时在元素末尾插入内容

使用“val”而不是“append”

尝试:


为什么,瓦尔?

获取匹配元素集中第一个元素的当前值,或设置每个匹配元素的值。.val()方法主要用于获取表单元素的值,如input、select和textarea。对于元素,.val()方法返回一个包含每个选定选项的数组;如果未选择任何选项,则返回null。

请使用以下脚本:

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

 });
</script>

var maxfilesize=2097152//2MB;
$('#fuAttachments').live(“更改”,函数(){
var size=$(this).files[0].size;
$(“#msg”).val(Math.ceil(size/1024));
});

旁注:尝试使用.on()。从jQuery 1.7开始,.live()方法已被弃用。现在我有另一个问题,如果我使用jQuery.min.js,那么它工作,但是如果我使用jQuery.1.9.js,那么它不工作,但是我想使用jQuery.1.9.js。为什么要使用jQuery.1.9.js?缩小版节省了带宽,减少了加载时间。当您使用非缩小版本时,什么不起作用?
$('#msg').val(size);
$("#msg").val(Math.ceil(size / 1024));
$("#msg").val(size);
<script>
 var maxfilesize = 2097152;//2MB;
 $('#fuAttachments').live("change", function () {
    var size = $(this).files[0].size;
    $("#msg").val(Math.ceil(size / 1024));

 });
</script>