の値を実際の整数に設定する方法はありますか?私は次のHTMLコードを持っています:値が<select><option>文字列として戻る
<select id="proteinperc" onchange="setMacrosProtein()">
<option value="0" selected>0%</option>
<option value="5">5%</option>
<option value="10">10%</option>
<option value="15">15%</option>
<option value="20">20%</option>
<option value="25">25%</option>
<option value="30">30%</option>
<option value="35">35%</option>
<option value="40">40%(Rec.)</option>
<option value="45">45%</option>
<option value="50">50%</option>
<option value="55">55%</option>
<option value="60">60%</option>
<option value="65">65%</option>
<option value="70">70%</option>
<option value="75">75%</option>
<option value="80">80%</option>
<option value="85">85%</option>
<option value="90">90%</option>
<option value="95">95%</option>
<option value="100">100%</option>
</select>
これらのオプション値にアクセスしてそれらを使って計算を実行しようとしているスクリプトがあります。問題は、私がそれらの計算をするときに得られるのは、文字列の連結または奇妙な値だけです。
function setMacrosProtein() {
myProtein = document.getElementById("proteinperc").value;
var removeValue = 101 - (myProtein+myFats+myCarbs);
alert(removeValue); // Alert here just for testing the first calculation.
var x = document.getElementById("fatperc").options.length;
for(i = 0; i < x; i++) {
// Check fatperc
if(document.getElementById("fatperc").options[i].value + myFats >= removeValue) {
document.getElementById("fatperc").options[i].disabled = true;
} else if(document.getElementById("fatperc").options[i].value + myFats < removeValue) {
document.getElementById("fatperc").options[i].disabled = false;
}
// Check carbperc
if(document.getElementById("carbperc").options[i].value+myCarbs >= removeValue) {
document.getElementById("carbperc").options[i].disabled = true;
} else if(document.getElementById("carbperc").options[i].value+myCarbs < removeValue) {
document.getElementById("carbperc").options[i].disabled = false;
}
}
//setCals();
}
オプション値から整数を返す方法がない場合は、回避策がありますが、小さな問題があります。 array [0]はオプション[0]と等しくなり、私はif文で配列をチェックすることができます。
ただし、この方法で現在選択されているオプションに変数を設定するにはどうすればよいですか?新しく作成された配列のミラー位置を取得するには、オプション配列内の現在選択されているオプションの位置をどのように参照しますか?明確にするために、選択されたオプションが現在オプション[4]である場合、配列[4]の値を取得する位置をどのように参照するのですか?
'parseInt(options [i] .value)'のように、選択値を中心にparseIntを使用します。それはintになります。 –