将段落值绑定到jQuery中的隐藏输入

时间:2015-08-21 13:06:34

标签: javascript jquery

我有一个简单的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根据grosstare获得净重值,我就希望将值传递给hiddenNet。但是我目前没有得到什么价值,我做错了什么?

3 个答案:

答案 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="" />