からC
に変換するjson
オブジェクトで、input
(動的に変化する)の値をどうやって入れますか?私の思考が悪い場合は、どうすればそのような変換を実際に書くべきですか?jsonの変換温度
私は考えていな方法がある(C
にすなわちK
):
var quantities= [
{
'name': 'Temperature',
'properties': [
{
'name': 'Kelwin',
'symbol': 'K',
'units': {
'K': 1,
'C': 'inputValue + 273.15',
'F': '(inputValue + 459.67)*5/9'
}
},
{
'name': 'Celsius',
'symbol': 'C',
'units': {
'K': 'inputValue - 273.15',
'C': 1,
'F': '(inputValue - 32)*5/9'
}
},
{
'name': 'Fahrenheit',
'symbol': 'F',
'units': {
'K': 'inputValue * 9/5-459.67',
'C': 'inputValue * 9/5+32',
'F': 1
}
}
]
}
]
var optionsIndex = $('select.from option:selected').index();
var from = $('select.from option:selected').val();
var to = $('select.to option:selected').val();
var fromSelectTypeValue = quantities[0].properties[optionsIndex].units[from];
var toSelectTypeValue = quantities[0].properties[optionsIndex].units[to];
var result = fromSelectTypeValue * toSelectTypeValue;
//fromSelectType = 1 (because K is choosen in first select element)
//toSelectTypeValue = 'inputValue + 273.15' (because C is choosen in second select element)
var $inputs = $('.inputValue, select.from, select.to');
$inputs.on('keyup change', function() {
$('.result').val(result);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="number" class="inputValue" placeholder="Insert value" />
<br />
<select class="from">
<option value="K">Kelvin</option>
<option value="C">Celsius</option>
<option value="F">Fahrenheit</option>
</select>
<select class="to">
<option value="K">Kelvin</option>
<option value="C">Celsius</option>
<option value="F">Fahrenheit</option>
</select>
<br />
<input type="numer" class="result" placeholder="Result" readonly />
は '常にfromSelectType' 1ではないでしょうか? btw、これは最後に沸騰しているものです、[戦略パターン](https://en.wikipedia.org/wiki/Strategy_pattern)...ちょうどスティーン... –
btw、CodeReviewは良い場所かもしれませんこの質問のために... –
OPは意図したとおりに動作しているコードのレビューを求めるのではなく、何かをする方法についてOPがヘルプを求めているようだから、これはCode Reviewには適していません。 – Phrancis