各成分の量を変更するためにレシピを更新します。私は最初の値を入れたときにすべてうまく動作しますが、それ以降は元の値ではなく更新された値に対して更新されます。私は元の値を保持するために2番目の配列を設定しようとし、それらを交換するが、それは動作しませんでした。ここにスクリプトhttp://jsfiddle.net/a8YTa/3/のライブバージョンがあります。 jsfiddleが私の質問を明確にしてくれることを願っています。アレイ内の値を更新する必要がありますが、元の値をそのまま更新する必要があります
編集:ここで私は、元の値と二番目の配列を設定しようとしたバージョンがあり、それはhttp://jsfiddle.net/a8YTa/5/
編集]を動作しませんでした。ここで要求された問題のコードであるため:
var numIngred = document.getElementsByClassName('ingred');
var initServ = document.getElementsByClassName('servnumber')[0].innerHTML;
var newServ = document.getElementById('newserv');
var divider = 0;
function changeServ(){
divider = initServ/newServ.value;
var i=0;
for(i=0; i<numIngred.length; i++){
numIngred[i].innerHTML = numIngred[i].innerHTML/divider;
}
}
newServ.oninput = changeServ;
元の値を持っている
HTML:
Serves: <span class="servnumber">8</span><br/><br/>
How many would you like to serve?:<input id="newserv" />
<br/><br/>
<span class="ingred">1</span> Apple <br/>
<span class="ingred">3</span> Peaches <br/>
<span class="ingred">.5</span> Pineapples <br/>
<span class="ingred">2</span>lbs nuts <br/>
<span class="ingred">6</span> small peppers <br/>
ここに適切なコードを掲載できますか?誰かがこれを読んで将来あなたのjsfiddleが消えてしまった場合、質問と回答は続くことができなくなります。 –
確かに、私はそれを投稿することができますが、正解はまた別のjsfiddleへのリンクです。 – kugyousha