模糊显示字段总数

时间:2014-01-27 20:01:16

标签: javascript jquery

有一个功能,我想在div中显示总数,但它不起作用。有什么想法吗?

基本上,在模糊时,获取vehiclePrice中的输入值并将其乘以10%(0.010),然后将该总数显示为estimatedTaxesAndFees字段中的两位小数固定金额。

HTML:

<label for="vehiclePrice" class="form-control-label vpl">Vehicle Price</label>
<input type="number" class="form-control" id="vehiclePrice" placeholder="$0" onkeypress="return isNumberKey(event)" onBlur="addCommas(this)" value="28435" />
<label for="estimatedTaxesAndFees" class="form-control-label etfl">Estimated Taxes and Fees</label>
<input type="number" class="form-control" id="estimatedTaxesAndFees" placeholder="$0" onkeypress="return isNumberKey(event)" onBlur="addCommas(this)"/>

JS:

$(document).ready(function () {
    $(function () {
        $("body").on("blur", "#vehiclePrice", function () {
            updateTotalNetVehicle();
        });
        var updateTotalNetVehicle = function () {
            var input1 = parseInt($('#vehiclePrice').val()) || 0;
            var number1 = 0.10;
            var sum = input1 * number1;
            $('#estimatedTaxesAndFees').text('$' + sum.toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, '$1,'));
        };
    });
});

Fiddle

2 个答案:

答案 0 :(得分:1)

固定。新JSFiddle

  1. 从html中删除了onBlur ='addComas'。
  2. 将函数声明移到document.ready scope。
  3. 之外
  4. 将$('#estimatedTaxesAndFees')。文本更改为$('#estimatedTaxesAndFees')。val
  5. 将听取事件更改为
  6. $(“#vehiclePrice”)。on(“blur”,function(){                 updateTotalNetVehicle(); });

    $(document).ready(function () {
            $(function () {
                $("#vehiclePrice").on("blur", function () {
                    updateTotalNetVehicle();
                });
    
            });
        });
    
         var updateTotalNetVehicle = function () {
                    var input1 = parseInt($('#vehiclePrice').val()) || 0;
                    var number1 = 0.10;
                    var sum = input1 * number1;
                    $('#estimatedTaxesAndFees').val('$' + sum.toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, '$1,'));
                };
    

答案 1 :(得分:0)

#estimatedTaxesAndFees是一个输入元素,因此.text()无效

改为使用.val()

$('#estimatedTaxesAndFees')
    .val($('#estimatedTaxesAndFees').text('$' + sum.toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, '$1,'));

在jsfiddle中你也有一些从内联属性调用的方法,这些方法在代码中不存在。