客户端kg到lb不能正常工作

时间:2016-05-25 20:51:51

标签: javascript jquery laravel

我要做的是,如果用户键入100并选择lbs,它将在数据库中存储为100,但如果用户选择kgs,则应保存为45.目前它保存为我输入的任何内容重要的是如果我选择kg或lb

{!! Form::label('weightLb', 'Weight:', array('class' => 'col-md-4 control-label')) !!}
{!! Form::text('weightLb', $user->weightLb, array('class' => 'form-control')) !!}
{!! Form::select('weight_unit', array('lbs' => 'lbs', 'kgs' => 'kgs')) !!}

<script type="text/javascript">
$('#weight_unit').change(function () {
    var v = $('weightLb').val();
    if ($('#weight_unit').val() != 'lbs') {
        $('weightLb').val(v / 0.4535923);
    }
});
</script>

1 个答案:

答案 0 :(得分:1)

如果你想动态计算单位,那么这将是正确的方法:

&#13;
&#13;
var weightAmount = $('#weight_amount');
var weightUnit = $('#weight_unit');

function unitChange() {
    var currentUnit = weightUnit.val();
    var toReturn = $.trim(weightAmount.val());
    if (toReturn) {
        toReturn *= currentUnit == 'lbs' ? 2.204623 : .4535923;
        weightAmount.val(toReturn.toFixed(7) * 1);
    };
};
weightUnit.on('change', unitChange);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>
    <input id="weight_amount" />
    <select id="weight_unit">
        <option value="lbs">lbs</option>
        <option value="kgs">kgs</option>
    </select>
</p>
&#13;
&#13;
&#13;

同样在Fiddle

我的建议是:始终将权重存储为数据库中kgglbs一个。否则,您将遇到转换,比较,选择等问题。