Конверсия физических величин на web-форме
Интересует следующий вопрос:
есть вот такой фрагмент кода:
Код:
<select id="123" name="xxx" def_unit="celsium">
<option value="celsium" formula="???" selected="selected">celsium</option>
<option value="fahrenheit" formula="def_unit*9/5+32">fahrenheit</option>
<option value="kelvin" formula="def_unit+237.15">kelvin</option>
<input type="text" name="xxx" id="yyy" class="text"/>
</select>
<option value="celsium" formula="???" selected="selected">celsium</option>
<option value="fahrenheit" formula="def_unit*9/5+32">fahrenheit</option>
<option value="kelvin" formula="def_unit+237.15">kelvin</option>
<input type="text" name="xxx" id="yyy" class="text"/>
</select>
Пользователь выбирает единицу измерения и по событию change изменяется значение текстового поля, то есть старое конвертируется в новое.
Перевод из одной системы в другую нужно реализовать универсально, то есть в каждом option'e будет формула, по которой высчитывается значение, так как единицы измерения и алгоритм их взаимоперевода будут встречаться разные. В select'е присутствует аттрибут def_unit, от которого предполагается отталкиваться при вычислениях. В примере указаны формулы, по которым можно переводить указанные величины между друг другом. Например, если переводить из фаренгейтов в кельвины, то справедливо следующее: Результат = def_unit+237.15, где def_unit вычисляется из формулы "from" def_unit+237.15, где в свою очередь def_unit = текущему значению текстового поля.
И собственно вопрос, как можно реализовать при именно таком подходе перевод в def_unit, то есть по примеру в Celsium. И вообще может кто-нибудь сталкивался с подобным заданием и как его реализовать универсально?