0

ユーザーが選択を変更する代わりに単位を交換できるようにする単位変換器でスイッチ機能を使用しています。それはうまくいきますが、場合によっては失敗することに気付きました。

値フィールドのサイズを縮小するまで、すべてのオプションを試しました/その後、機能しました。値が長すぎると思いましたが、ここで確認した後:

HTML 属性値の最大長

私は境界内にいたようです。だから私はそれが他に何ができるのだろうか?

以下は、スイッチ ボタンが押される前と押された後を示すコンソール ログから取得した 2 つの例と、名前を変更した後の結果です。

Measurement Type: thermalExpansion
convertFunctions.js:30BEFORE!!! from:  length/length/degreeC to:  length/length/degreeRan
convertFunctions.js:40AFTER!!! from:  length/length/degreeC to:  length/length/degreeRan
convertFunctions.js:1020Parsed input is 1 and result is 0.555555556

Measurement Type: thermalExpansion
convertFunctions.js:30BEFORE!!! from:  lengthRan to:  lengthk
convertFunctions.js:40AFTER!!! from:  lengthk to:  lengthRan

編集:フィールドで斜めを使用して再度テストしたところ、失敗しました。

再度編集: 詳細情報:

関数は、コンソール ログが生成された場所を示します

function switchUnits(){

//need to get values before swap to and from around.
var from = $("#from").val();
var to = $("#to").val();
console.log('BEFORE!!! from: ', from, 'to: ', to );

//switches the details
$("#to #"+from).attr("selected","selected");
$("#from #"+to).attr("selected","selected");

//gets values after switch
from = $("#from").val();
to = $("#to").val();

console.log('AFTER!!! from: ', from, 'to: ', to );

//run convert
convertUnits();
}

値フィールドからすべての「/」を削除するように編集された JSON ファイルの例

編集前の例:

   "thermalExpansion":[
    {
        "value": "length/degreek",
        "name" : "Length / Length / Kelvin (1/K)"
    },

],

編集後の例:

   "thermalExpansion":[
    {
        "value": "lengthk",
        "name" : "Length / Length / Kelvin (1/K)"
    }
],
4

0 に答える 0