如何使用jQuery将磅转换为千克?

时间:2011-11-16 13:06:36

标签: php jquery

我有一个允许用户输入体重的表格,单位为磅或公斤。

我想以千克为单位存储所有数据,并且使用jQuery,希望表单将weight_value转换为千克并将weight_units选项更改为“kg”。

  

1磅= 0.45359237千克

该函数应将weight_value舍入为最接近的千克(无小数)。

您可以提供任何帮助,我们将不胜感激!

<label> Weight:</label>
<input type="text" id="weight_value" />
<select id="weight_unit" />
   <option value="lbs">lbs</option>
   <option value="kg">kg</option>
</select>

6 个答案:

答案 0 :(得分:1)

试试这个

function KtoLbs(pK) {
    var nearExact = pK/0.45359237;
    var lbs = Math.floor(nearExact);

    return {
        pounds: lbs,

    };
}

var imperial = KtoLbs(10);
alert("10 kg = " + imperial.pounds + " lbs " );

答案 1 :(得分:1)

我的解决方案在这里:http://jsfiddle.net/mVNDk/

$('#weight_unit').change(function(){
    var v = $('input').val();
    if($('#weight_unit').val() == 'lbs') {
        $('input').val(v * 0.4535923);
    } else {
        $('input').val(v / 0.4535923);
    }
});

答案 2 :(得分:1)

试试这个

$(document).ready( function() {
        $("#weight_value").keyup(function(){
            var weight = parseFloat($("#weight_value").val());
            if($("#weight_unit").val()=='lbs'){
                //lbs value;
                weight = (weight/0.45359237); 
            }else{
            }
            $("#weight_value_kg").val(Math.round(weight*100)/100);

        });

    });

<label> Weight:</label>
<input type="text" id="weight_value" />
<select id="weight_unit" />
    <option value="lbs">lbs</option>
    <option value="kg">kg</option>
</select>
<label> value:in kg</label>
<input type="text" id="weight_value_kg" />

答案 3 :(得分:0)

这是一个尝试:

var kg = 0.45359237

$(document).ready(function() {
    $("#weight_unit").change(function() {
        if ($(this).val() == "kg") {
            $("#weight_value").val(Math.round( $("#weight_value").val()*kg))
        } else {
            $("#weight_value").val(Math.round( $("#weight_value").val()/kg))
        }
    });
});

现场观看:http://jsfiddle.net/zeByX/

[编辑]使用Math.floor(),您可以通过从kg切换到磅(尝试12磅并切换)来获得一些奇怪的结果。

答案 4 :(得分:0)

这是一些代码

$("#weight_unit").change(function() {
    var result = 0;
    if($(this).val() == "kg") {
        result = Math.round($("#weight_value").val() * 0.45359237);
        alert( result + " kg");
    }
    else {
        result = Math.round($("#weight_value").val() / 0.45359237);
        alert( result + " lbs");
    }
});

您应该将alert()函数替换为您想要用它做的事情

答案 5 :(得分:0)

结帐fiddle好友。

<label for='weight'>Weight</label>
<input type='text' id='weight' />
<select id='units'>
    <option value='p'>Pound</option>
    <option value='k'>Killogram</optoin>
</select>
<input type='text' id='result' />

使用此脚本:

var weight = $('#weight'),
    units = $('#units'),
    result = $('#result');
// 1 pound = 0.45359237 kilograms
$(function() {
    units.change(function() {
        if ($(this).val() == 'p') {
            // Weight is in Pound  
            result.val(weight.val() * 0.45359237);
        }
        else {
            // Wiehgt is in Killogram
            result.val(weight.val() / 0.45359237);
        }
    });
});