亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

想在我的代碼中使用 for 循環,但我不知道怎么可能

想在我的代碼中使用 for 循環,但我不知道怎么可能

互換的青春 2023-06-09 15:06:20
我即將學習編程,我創建了一個練習表格來測試我的知識。該復選框允許用戶選擇他們想要的漢堡包的額外配料。在 javascript 中,我可以通過使用 getElementById 命令獲得額外的頂部值。該代碼運行完美,但我需要 for 循環遍歷所有元素。我需要用 HTML 代碼編寫的復選框索引,以便能夠在 javascript 中使用。這是我用 HTML 寫的:<div class="extra"><div>                                <input  value="250" type="checkbox" name="cheese" id="cheese">                                <label for="cheese">Sajt (+250 Ft)</label>                            </div>                            <div>                                <input value="600"type="checkbox" name="meat" id="doublemeat">                                <label for="doublemeat">+Hús (+600 Ft)</label>                                                          </div>                            <div>                                <input value="250"type="checkbox" name="onion" id="onion">                                <label for="onion">Hagyma (+250 Ft)</label>                            </div>                            <div>                                <input value="450"type="checkbox" name="bacon" id="bacon">                                <label for="bacon">Bacon (+450 Ft)</label>                            </div>                            <div>                                <input value="600"type="checkbox" name="coleslaw" id="coleslaw">                                <label for="coleslaw">Coleslaw saláta (+600)</label>                            </div>                            </div>這在 javascript 中:var extra=0;if (document.getElementById("cheese").checked){    extra=extra+parseInt(cheese.value)}if (document.getElementById("doublemeat").checked){    extra=extra+parseInt(doublemeat.value)}if (document.getElementById("onion").checked){    extra=extra+parseInt(onion.value)}if (document.getElementById("bacon").checked){    extra=extra+parseInt(bacon.value)}if (document.getElementById("coleslaw").checked){    extra=extra+parseInt(coleslaw.value)}
查看完整描述

1 回答

?
慕的地6264312

TA貢獻1817條經驗 獲得超6個贊

您需要創建一個包含所有元素的數組,然后您可以使用 JavaScript 的reduce方法。


這是一個例子:


const elements = [

? document.getElementById("cheese"),

? document.getElementById("doublemeat"),

? document.getElementById("onion"),

? document.getElementById("bacon"),

? document.getElementById("coleslaw")

];


const extra = elements.reduce((total, element) => {

? if (element.checked) {

? ? return total + parseInt(element.value);

? }

? return total;

}, 0);

該.reduce方法將數組縮減為新值。在這種情況下,我們從 0 開始,如果元素被選中,則返回總和 + 值。


在你的 JavaScript 中,你最好這樣做:


const elements = Array.from(document.querySelectorAll('.extra > div > input'))

這將使您不必手動獲取所有元素。


查看完整回答
反對 回復 2023-06-09
  • 1 回答
  • 0 關注
  • 121 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號