我有一个允许用户输入体重的表格,单位为磅或公斤。
我想以千克为单位存储所有数据,并且使用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>
答案 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);
}
});
});