如何使用jQuery将数字输入存储到变量并执行计算以再次更新数字输入?

时间:2013-12-18 04:33:38

标签: javascript jquery html

我正在使用HTML和jQuery制作BMI计算器。

<form id="bmicalc">
    <fieldset>
        <legend>BMI Calculator:</legend>
        <p>
            <label>Height:
                <input type="number" id="height1" min="3" max="7">ft
                <input type="number" id="height2" min="0" max="11">in</label>
        </p>
        <p>
            <label>Weight:
                <input type="number" id="weight" min="1" max="1400">lb</label>
        </p>
        <p>
            <label>BMI:
                <input id="bmi" type="number" min="1" max="200">
            </label>
        </p>
        <p>
            <input type="button" id="tehbaton" value="Check your BMI">
        </p>
    </fieldset>
</form>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10/jquery.min.js">
var height = $("#height1").val()*12 + $("#height2").val(); //Height in Inches
var weight = $("#weight").val();
$("#tehbaton").click(function(){
    $("#bmi").val(703*weight/(height^2));
});
</script>

这是小提琴:http://jsfiddle.net/uzD9C/

我原本想要在keyup上执行计算,但我决定不知道这样做。所以我现在只需简单地点击提交按钮就可以更新第三个输入字段。

但就像现在一样,单击按钮不会执行任何操作。

计算BMI的公式为: BMI =(磅重/(高度,英寸x高度,英寸))x 703

1 个答案:

答案 0 :(得分:3)

试试这个:

$("#tehbaton").click(function () {
    if($("#height1").val() && $("#height2").val() && $("#weight").val()){
        var height = Number($("height1").val()) * 12 + Number($("height2").val());
        var weight = $("#weight").val();
        $("#bmi").val((703 * weight) / Math.pow(height,2));
    }
});

这是Fiddle