Javascript 将变量值赋给div

Javascript 将变量值赋给div,javascript,jquery,html,Javascript,Jquery,Html,这是我的JavaScript代码: $("#rate").live('blur', function(){ var rate=$(this).val(); var qty =$('#quantity').val(); var amt=rate*qty; alert(amt); document.getElementById("amount").innerHTML = amt; }); 这里我得到了amt变量中的正确金额。现在,我只想将其分配给amount

这是我的JavaScript代码:

$("#rate").live('blur', function(){
    var rate=$(this).val();
    var qty =$('#quantity').val();
    var amt=rate*qty;
    alert(amt);
    document.getElementById("amount").innerHTML = amt;
});
这里我得到了
amt
变量中的正确金额。现在,我只想将其分配给amount div。那么我该怎么做呢?

试试这个:

$('#amount').text(amt); 
而不是:

document.getElementById("amount").innerHTML = amt;
试试这个:

$('#amount').text(amt); 
而不是:

document.getElementById("amount").innerHTML = amt;

您正在使用哪个版本的jquery。如果大于或等于1.9版,则live功能将不起作用。如果是,则改用.on函数。使用代码可以降低成本

$("#rate").on('blur', function(){
    var rate=$(this).val();
    var qty =$('#quantity').val();
    var amt=rate*qty;
    alert(amt);
    document.getElementById("amount").innerHTML = amt;
});

希望这能帮助您使用jquery的哪个版本。如果大于或等于1.9版,则live功能将不起作用。如果是,则改用.on函数。使用代码可以降低成本

$("#rate").on('blur', function(){
    var rate=$(this).val();
    var qty =$('#quantity').val();
    var amt=rate*qty;
    alert(amt);
    document.getElementById("amount").innerHTML = amt;
});

希望这对您有所帮助

您应该使用setAttribute方法。对于您的案例,我有一个解决方案:

$("#rate").live('blur', function(){
 var rate=$(this).val();
 var qty =$('#quantity').val();
 var amt=rate*qty;
 document.getElementById("amount").setAttribute('amt',amt);
});
要获取属性,请执行以下操作:

var amt = document.getElementById("amount").getAttribute('amt');

您应该使用setAttribute方法。对于您的案例,我有一个解决方案:

$("#rate").live('blur', function(){
 var rate=$(this).val();
 var qty =$('#quantity').val();
 var amt=rate*qty;
 document.getElementById("amount").setAttribute('amt',amt);
});
要获取属性,请执行以下操作:

var amt = document.getElementById("amount").getAttribute('amt');

Hudixt的答案是正确的,但是如果值来自文本类型的输入,则需要将其解析为int(或float),因为它们是字符串。i、 e

$("#rate").on('blur', function(){
    var rate=$(this).val();
    var qty =$('#quantity').val();
    var amt= parseInt(rate) * parseInt(qty);
    alert(amt);
    document.getElementById("amount").innerHTML = amt;
});

尝试将两个字符串相乘会得到一个NaN,Hudixt的答案是正确的,但是如果值来自文本类型的输入,则需要将它们解析为int(或float),因为它们是字符串。i、 e

$("#rate").on('blur', function(){
    var rate=$(this).val();
    var qty =$('#quantity').val();
    var amt= parseInt(rate) * parseInt(qty);
    alert(amt);
    document.getElementById("amount").innerHTML = amt;
});

尝试将两个字符串相乘,得到一个NaN

$('#amount').html(amt)为什么这个问题被标记为“php”?这取决于如果您的金额id用于输入标记,那么您可以使用$('#amount').val(要传递的值);否则,如果您的id用于div,请使用$('#amount').html(要传递的值);你的东西怎么了?除了使用
live
(在jQuery 1.9中已被弃用和删除)并将jQuery和Vanilla JS与
innerHTML
混合使用之外,这应该可以很好地工作-@RGraham ha-haa,实际上我刚刚登录以检查这一点。你的权利。每天都是上学的日子,谢谢你的帮助。有趣的是,它还修剪了我不知道强制会做的输入,即“20”*“5”和“20”/“2”仍然有效为什么这个问题被标记为“php”?这取决于如果您的金额id用于输入标记,那么您可以使用$('#amount').val(要传递的值);否则,如果您的id用于div,请使用$('#amount').html(要传递的值);你的东西怎么了?除了使用
live
(在jQuery 1.9中已被弃用和删除)并将jQuery和Vanilla JS与
innerHTML
混合使用之外,这应该可以很好地工作-@RGraham ha-haa,实际上我刚刚登录以检查这一点。你的权利。每天都是上学的日子,谢谢你的帮助。有趣的是,它还修剪了我不知道强制会做的输入,即“20”*“5”和“20”/“2”仍然有效。如果您更新此答案而不是发布新答案,则任何否决此答案的人都可以撤回他们的投票,您可以再次获得您的代表。仅供参考,如果你更新了这个答案,而不是发布一个新的答案,那么无论谁否决了这个答案,都可以撤回他们的投票,你可以让你的代表再次回来。仅供参考