javascript - 客户端公斤到磅无法正常工作

标签 javascript jquery laravel

我想做的是,如果用户输入 100 并选择磅,它将在数据库中存储为 100,但如果用户选择公斤,则应保存为 45。目前,它会保存为我输入的任何内容不管我选择公斤还是磅

{!! 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>

最佳答案

如果您想即时计算单位,那么这是正确的方法:

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);
<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>

同时在 Fiddle .

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

关于javascript - 客户端公斤到磅无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37447397/

相关文章:

php - 在 Laravel 中获取列类型

javascript - 数据在函数中使用之前更改

javascript - 模拟服务返回 promise : Cannot read property of undefined

javascript - 从 javascript webview 访问 iPhone GPS

javascript - 为什么调用 RedirectToAction 时我的网页不刷新?

php - 使用 laravel 命令生成多个文件

javascript - extjs 中的 vbox 和 hbox

jquery - 在 R Shiny 中使用 jQuery 时 Plotly 消失

javascript - 响应式谷歌可视化数据表

mysql - 将我的 sql 查询转换为 laravel 查询