我有一个简单的jQuery函数,通过使用net
权重减去gross
权重来计算tare
权重。看起来像这样,它正在起作用:
$(".sub").focusout(function () {
$("#net").html('');
var gross = $("#gross").val();
var tare = $("#tare").val();
var net = (gross - tare);
$("#net").html(Math.round(net * 1000) / 1000);
});
我的html目前看起来像这样:
<input type='number' name='gross' id='gross' class='sub' />
<input type='number' step="any" name='tare' id='tare' class='sub' />
<p id='net' class='sub1'></p>
<input type="hidden" name="hiddenNet" value=${net}/>
注意html的最后一行我有一个名为input
的隐藏hiddenNet
,我在这里尝试做的是将net
的值绑定到它。换句话说,只要p
根据gross
和tare
获得净重值,我就希望将值传递给hiddenNet
。但是我目前没有得到什么价值,我做错了什么?
答案 0 :(得分:0)
如果你只是使用jQuery,绑定将无法正常工作。你需要设置值víjQuery,检查我最后添加的行。
$(".sub").focusout(function () {
$("#net").html('');
var gross = $("#gross").val();
var tare = $("#tare").val();
var net = (gross - tare);
$("#net").html(Math.round(net * 1000) / 1000);
$("input[name='hiddenNet']").val(net);
});
答案 1 :(得分:0)
JQuery不是像angularJS那样的前端模板框架,你需要在触发事件后更改[name="hiddenNet"]
的值。
您需要在$('input[name="hiddenNet"]').val(net);
行添加一些内容,以便正确更新值。
如果我是你,我会立即让我的net
变量包含正确的值:
var net = Math.round((gross - tare) * 1000 / 1000);
答案 2 :(得分:0)
为什么不简单地设置隐藏字段的值
$(".sub").focusout(function() {
$("#net").html('');
var gross = $("#gross").val();
var tare = $("#tare").val();
var net = (gross - tare);
$("#net").html(Math.round(net * 1000) / 1000);
$("input[name=hiddenNet]").val($("#net").html());
});
<input type='number' name='gross' id='gross' class='sub' />
<input type='number' step="any" name='tare' id='tare' class='sub' />
<p id='net' class='sub1'></p>
<input type="hidden" name="hiddenNet" value="" />