Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery:当其他输入字段的值更改时更改值_Javascript_Jquery_Html - Fatal编程技术网

Javascript JQuery:当其他输入字段的值更改时更改值

Javascript JQuery:当其他输入字段的值更改时更改值,javascript,jquery,html,Javascript,Jquery,Html,我想在另一个输入字段的值更改时更改输入字段的值 我已经试了一段时间,但似乎无法让它发挥作用 <input class="span4 input-big" id="dare_price" name="price" size="30" type="text" onChange="updatePrice()" /> <input class="span4 input-big" id="total_price_amount" readonly="readonly" value=""/&

我想在另一个输入字段的值更改时更改输入字段的值

我已经试了一段时间,但似乎无法让它发挥作用

<input class="span4 input-big" id="dare_price" name="price" size="30" type="text" onChange="updatePrice()" />
<input class="span4 input-big" id="total_price_amount" readonly="readonly" value=""/>​


function updatePrice() {
    var price = $("#dare_price").val();
    var total = (price + 1) * 1.05;
    $("$total_price_amount").val(total);
}​

​
函数updatePrice(){
var价格=$(“#价格”).val();
风险价值总额=(价格+1)*1.05;
$(“$总价\金额”).val(总价);
}​

如果您通过编程方式更改值,则需要通过您的方法将其管道化-

function changePrice(value){
   $('#dare_price').val(value);
   $('#dare_price').trigger('change');
}

对于这种事件驱动的方法。

看起来就像一个打字错误

$("$total_price_amount").val(total);
应该是

$("#total_price_amount").val(total);

使用“#”获取id

只是为了安全起见,您应该
parseFloat()
您的价格。此外,在做任何这一切之前,你应该确保它是一个偶数开始!否则您将得到NaN

function updatePrice() {
    var price = $("#dare_price").val();
    var total = (parseFloat(price) + 1) * 1.05;
    console.log(total);

    // Other big problem was the $total_price_amount typo that should of had # instead
    $("#total_price_amount").val(total);
}​

这里是一个更改事件的示例。您可以使用keydown或-up之类的事件,只要适合您的目的。(live方法用于在运行时创建的元素。)

有几件事

  • 首先,如果我是你,我会使用最新版本的jQuery。 我们现在是1.8

  • 我还将“keyup”用作事件触发器以及“change”。在我看来,它更有用。我也喜欢使用jQuery绑定事件。看

  • 您的代码中有一些错误。注意,
    $(“$total\u price\u amount”)
    部分抛出了一个错误

  • 如果只想显示一组小数点,请使用
    .toFixed()
    。但请注意,这将返回一个字符串

  • 文本框中的输入值是类型
    string
    ,因此要使用它们进行数学计算,您需要将它们解析为
    int
    float

  • 这是我更新的JSFIDLE

    以及我使用的实际代码 注意我从HTML中删除了
    onChange=“updatePrice()”
    部分,因为它不再需要了


    希望这对您有所帮助。

    --将其包装在
    $(文档)中非常重要
    考虑到数字的十进制性质,
    parseFloat()
    可能更好。
    function updatePrice() {
        var price = $("#dare_price").val();
        var total = (parseFloat(price) + 1) * 1.05;
        console.log(total);
    
        // Other big problem was the $total_price_amount typo that should of had # instead
        $("#total_price_amount").val(total);
    }​
    
      $('#first').live("change", (function(){       
                $('#idofinputfield').val('mynewvalue');         
        }))
    
    $(document).ready(function()
    {
        function updatePrice()
        {
            var price = parseFloat($("#dare_price").val());
            var total = (price + 1) * 1.05;
            var total = total.toFixed(2);
            $("#total_price_amount").val(total);
        }
        $(document).on("change, keyup", "#dare_price", updatePrice);
    });