我要做的是,如果用户键入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>
答案 0 :(得分:1)
如果你想动态计算单位,那么这将是正确的方法:
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;
同样在Fiddle。
我的建议是:始终将权重存储为数据库中kg
,g
或lbs
的一个。否则,您将遇到转换,比较,选择等问题。