主頁 > 區塊鏈 > 使用HTML和Javascript制作混凝土供應計算器-取____m3和選擇選項(mpa)的值來給出總價

使用HTML和Javascript制作混凝土供應計算器-取____m3和選擇選項(mpa)的值來給出總價

2022-11-17 17:34:43 區塊鏈

這是我第一次在 Stack Overflow 上提問,如果我有什么不對的地方,我深表歉意。我目前正在為一家混凝土公司構建一個網路計算器。以下是輸入的詳細資訊: 有一個包含以下輸入的表格: 輸入 1:立方米 (m3) 輸入 2:強度 輸入 1 的值介于 0.1 m3 和 3.2 m3 之間。3.2 立方米是他們的卡車可以承載的最大重量。輸入 2 是一個選擇,具有三個選項 = 20MPa、25MPa、32MPa。困難的部分在這里:根據選擇的強度,有一個單獨的定價表。例如:0.1 立方米的成本: 20MPa = 230 美元 25MPa = 250 美元 32MPa = 280 美元 每個清單的價格以每 0.1 的不同數量和每張表的不同費率遞增。我為每個強度表撰寫了一些 if/else 函式,它檢查值范圍并回傳相應的價格。我已經啟動了另一個函式來計算值,但我不知道如何將 if else 函式集成到這個計算中。我需要計算器來讀取 m3(例如 1.4)并讀取所選的強度選項,然后在該表中找到該 m3 數量的正確價格。抱歉,如果我的解釋寫得不好,我有點迷茫,希望得到一些幫助。

我試圖通過使用所選選擇選項的值創建變數來定義選項。然后我嘗試將 m3 量 強度變數的結果插入計算器結果框中。我的下一步是以某種方式將我的 if else 函式插入到這個計算器函式中,但我不知道將它放在哪里以及使用什么語法。我包含了用于計算器的 HTML、用于計算器函式的 JavaScript 以及用于價目表的 if else 函式。感謝幫助 Web Dev 學生 :)

      <!-- My web calculator HTML -->
      <section class="price-calculator">
        <h1>Price Calculator - 20 MPa</h1>
        <p>Cubic Meters (m3)</p>
        <input id="cubic-amount" placeholder="3" /><br />
        <p>Strength</p>
        <select name="mpa" id="mpa">
          <option id="20" value="">20 (MPa)</option>
          <option id="25" value="25">25 (MPa)</option>
          <option id="32" value="32">32 (MPa)</option>
        </select>
        <button onclick="calculatePrice()">calculate</button>
        <p>Price ($AUD)</p>
        <div id="price-result"></div>
      </section>
// Price calculator

function calculatePrice() {
  let amount = document.getElementById("cubic-amount").value.replace(",", ".");
  amount = amount.replace(/,/g, ".");
  amount = parseFloat(amount);

  let mpa20 = document.getElementById("20").value.replace(",", ".");
  mpa20 = mpa20.replace(/,/g, ".");
  mpa20 = parseFloat(mpa20);

  let mpa25 = document.getElementById("25").value.replace(",", ".");
  mpa25 = mpa25.replace(/,/g, ".");
  mpa25 = parseFloat(mpa25);

  let mpa32 = document.getElementById("32").value.replace(",", ".");
  mpa32 = mpa32.replace(/,/g, ".");
  mpa32 = parseFloat(mpa32);

  let price = amount   mpa20;
  document.getElementById("price-result").innerHTML = price.toFixed(2);
}
// Table for m3 ranges - 20 MPa Strength

function ifElse20(val) {
  let answer = "";
  // Start of if else chain
  // 0.1
  if (val >= 0.1 && val <= 0.19) {
    return "$230";
    // 0.2
  } else if (val >= 0.2 && val <= 0.29) {
    return "$250";
    // 0.3
  } else if (val >= 0.3 && val <= 0.39) {
    return "$270";
    // 0.4
  } else if (val >= 0.4 && val <= 0.49) {
    return "$290";
    // 0.5
  } else if (val >= 0.5 && val <= 0.59) {
    return "$310";
    // 0.6
  } else if (val >= 0.6 && val <= 0.69) {
    return "$330";
    // 0.7
  } else if (val >= 0.7 && val <= 0.79) {
    return "$350";
    // 0.8
  } else if (val >= 0.8 && val <= 0.89) {
    return "$380";
    // 0.9
  } else if (val >= 0.9 && val <= 0.99) {
    return "$410";
    // 1.0
  } else if (val >= 1.0 && val <= 1.09) {
    return "$430";
    // 1.1
  } else if (val >= 1.1 && val <= 1.19) {
    return "$470";
    // 1.2
  } else if (val >= 1.2 && val <= 1.29) {
    return "$520";
    // 1.3
  } else if (val >= 1.3 && val <= 1.39) {
    return "$570";
    // 1.4
  } else if (val >= 1.4 && val <= 1.49) {
    return "$610";
    // 1.5
  } else if (val >= 1.5 && val <= 1.59) {
    return "$650";
    // 1.6
  } else if (val >= 1.6 && val <= 1.69) {
    return "$690";
    // 1.7
  } else if (val >= 1.7 && val <= 1.79) {
    return "$740";
    // 1.8
  } else if (val >= 1.8 && val <= 1.89) {
    return "$780";
    // 1.9
  } else if (val >= 1.9 && val <= 1.99) {
    return "$820";
    // 2.0
  } else if (val >= 2.0 && val <= 2.09) {
    return "$860";
    // 2.1
  } else if (val >= 2.1 && val <= 2.19) {
    return "$900";
    // 2.2
  } else if (val >= 2.2 && val <= 2.29) {
    return "$940";
    // 2.3
  } else if (val >= 2.3 && val <= 2.39) {
    return "$980";
    // 2.4
  } else if (val >= 2.4 && val <= 2.49) {
    return "$1020";
    // 2.5
  } else if (val >= 2.5 && val <= 2.59) {
    return "$1060";
    // 2.6
  } else if (val >= 2.6 && val <= 2.69) {
    return "$1100";
    // 2.7
  } else if (val >= 2.7 && val <= 2.79) {
    return "$1150";
    // 2.8
  } else if (val >= 2.8 && val <= 2.89) {
    return "$1190";
    // 2.9
  } else if (val >= 2.9 && val <= 2.99) {
    return "$1240";
    // 3.0
  } else if (val >= 3.0 && val <= 3.09) {
    return "$1290";
    // 3.1
  } else if (val >= 3.1 && val <= 3.19) {
    return "$1330";
    // 3.2
  } else if (val >= 3.2 && val <= 3.29) {
    return "$1380";
    // End of chain
  }
  return answer;
}

uj5u.com熱心網友回復:

也許是那樣的……?

const
  f_priceCalculator = document.querySelector('#price-calculator')
, pricingArr = 
    [ { ref: 0.1, price:  230 }, { ref: 0.2, price:  250 }, { ref: 0.3, price:  270 }, { ref: 0.4, price:  290 }
    , { ref: 0.5, price:  310 }, { ref: 0.6, price:  330 }, { ref: 0.7, price:  350 }, { ref: 0.8, price:  380 }
    , { ref: 0.9, price:  410 }, { ref: 1.0, price:  430 }, { ref: 1.1, price:  470 }, { ref: 1.2, price:  520 }
    , { ref: 1.3, price:  570 }, { ref: 1.4, price:  610 }, { ref: 1.5, price:  650 }, { ref: 1.6, price:  690 }
    , { ref: 1.7, price:  740 }, { ref: 1.8, price:  780 }, { ref: 1.9, price:  820 }, { ref: 2.0, price:  860 }
    , { ref: 2.1, price:  900 }, { ref: 2.2, price:  940 }, { ref: 2.3, price:  980 }, { ref: 2.4, price: 1020 }
    , { ref: 2.5, price: 1060 }, { ref: 2.6, price: 1100 }, { ref: 2.7, price: 1150 }, { ref: 2.8, price: 1190 }
    , { ref: 2.9, price: 1240 }, { ref: 3.0, price: 1290 }, { ref: 3.1, price: 1330 }, { ref: 3.2, price: 1380 }
    ];

f_priceCalculator.onsubmit = e =>  // same as <button type="submit">  clicked
  {
  e.preventDefault();  // disable form submit (== page reload) 

  let
    cAmountRef = ((f_priceCalculator['cubic-amount'].valueAsNumber * 10) | 0) / 10
  , prx        = pricingArr.find( x => x.ref === cAmountRef )
    ;
  f_priceCalculator['price-result'].value = (prx.price   parseInt(f_priceCalculator.mpa.value)).toFixed(2)
  }
f_priceCalculator.oninput =_=>  // on any change...
  {
  f_priceCalculator['price-result'].value = ''
  }
body {
  font-family      : Arial, Helvetica, sans-serif;
  font-size        : 16px;
  }
form {
  width   : fit-content;
  border  : 1px solid steelblue;
  margin  : 1rem;
  padding : .8rem 1rem;
  }
form h2 {
  margin  : .2rem 0 2rem 0;
  }
input[type=number] {
  font-size  : 1.2rem;
  width      : 7rem;
  text-align : center;
  }
label {
  display : block;
  margin  : .2rem 0 .8rem 0;
  }
button { 
  margin         : 1em 0;
  padding        : .3em 3em;
  }
output[name="price-result"] {
  float : right;
  }
output[name="price-result"]::before {
  content : '$ '
  }
<form id="price-calculator">
  <h2> Price Calculator - 20 MPa </h2>
  <label> Cubic Meters (m3) :
    <input name="cubic-amount" type="number" min="0.10" value="3.00" max="3.29" step="0.01" >
  </label>
<fieldset>
  <legend>Strength</legend>
  <label> 
    <input  name="mpa" type="radio" value="20" checked >
    20 (MPa)
  </label>
  <label> 
    <input  name="mpa" type="radio" value="25"  >
    25 (MPa)
  </label>
  <label> 
    <input  name="mpa" type="radio" value="32"  >
    32 (MPa)
  </label>
  </fieldset>
  <button type="submit"> Calculate </button>
  <fieldset>
    <legend>Price ($AUD)</legend>
    <output name="price-result"> </output>
  </fieldset>
</form>

轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/535699.html

標籤:javascript网页格式形式功能if语句

上一篇:如何在用戶使用CSS單擊它時創建影片電子郵件輸入

下一篇:我需要在HTML表單中創建一個下拉串列,列出接下來的四五個星期六

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • JAVA使用 web3j 進行token轉賬

    最近新學習了下區塊鏈這方面的知識,所學不多,給大家分享下。 # 1. 關于web3j web3j是一個高度模塊化,反應性,型別安全的Java和Android庫,用于與智能合約配合并與以太坊網路上的客戶端(節點)集成。 # 2. 準備作業 jdk版本1.8 引入maven <dependency> < ......

    uj5u.com 2020-09-10 03:03:06 more
  • 以太坊智能合約開發框架Truffle

    前言 部署智能合約有多種方式,命令列的瀏覽器的渠道都有,但往往跟我們程式員的風格不太相符,因為我們習慣了在IDE里寫了代碼然后打包運行看效果。 雖然現在IDE中已經存在了Solidity插件,可以撰寫智能合約,但是部署智能合約卻要另走他路,沒辦法進行一個快捷的部署與測驗。 如果團隊管理的區塊節點多、 ......

    uj5u.com 2020-09-10 03:03:12 more
  • 谷歌二次驗證碼成為區塊鏈專用安全碼,你怎么看?

    前言 谷歌身份驗證器,前些年大家都比較陌生,但隨著國內互聯網安全的加強,它越來越多地出現在大家的視野中。 比較廣泛接觸的人群是國際3A游戲愛好者,游戲盜號現象嚴重+國外賬號安全應用廣泛,這類游戲一般都會要求用戶系結名為“兩步驗證”、“雙重驗證”等,平臺一般都推薦用谷歌身份驗證器。 后來區塊鏈業務風靡 ......

    uj5u.com 2020-09-10 03:03:17 more
  • 密碼學DAY1

    目錄 ##1.1 密碼學基本概念 密碼在我們的生活中有著重要的作用,那么密碼究竟來自何方,為何會產生呢? 密碼學是網路安全、資訊安全、區塊鏈等產品的基礎,常見的非對稱加密、對稱加密、散列函式等,都屬于密碼學范疇。 密碼學有數千年的歷史,從最開始的替換法到如今的非對稱加密演算法,經歷了古典密碼學,近代密 ......

    uj5u.com 2020-09-10 03:03:50 more
  • 密碼學DAY1_02

    目錄 ##1.1 ASCII編碼 ASCII(American Standard Code for Information Interchange,美國資訊交換標準代碼)是基于拉丁字母的一套電腦編碼系統,主要用于顯示現代英語和其他西歐語言。它是現今最通用的單位元組編碼系統,并等同于國際標準ISO/IE ......

    uj5u.com 2020-09-10 03:04:50 more
  • 密碼學DAY2

    ##1.1 加密模式 加密模式:https://docs.oracle.com/javase/8/docs/api/javax/crypto/Cipher.html ECB ECB : Electronic codebook, 電子密碼本. 需要加密的訊息按照塊密碼的塊大小被分為數個塊,并對每個塊進 ......

    uj5u.com 2020-09-10 03:05:42 more
  • NTP時鐘服務器的特點(京準電子)

    NTP時鐘服務器的特點(京準電子) NTP時鐘服務器的特點(京準電子) 京準電子官V——ahjzsz 首先對時間同步進行了背景介紹,然后討論了不同的時間同步網路技術,最后指出了建立全球或區域時間同步網存在的問題。 一、概 述 在通信領域,“同步”概念是指頻率的同步,即網路各個節點的時鐘頻率和相位同步 ......

    uj5u.com 2020-09-10 03:05:47 more
  • 標準化考場時鐘同步系統推進智能化校園建設

    標準化考場時鐘同步系統推進智能化校園建設 標準化考場時鐘同步系統推進智能化校園建設 安徽京準電子科技官微——ahjzsz 一、背景概述隨著教育事業的快速發展,學校建設如雨后春筍,隨之而來的學校教育、管理、安全方面的問題成了學校管理人員面臨的最大的挑戰,這些問題同時也是學生家長所擔心的。為了讓學生有更 ......

    uj5u.com 2020-09-10 03:05:51 more
  • 位元幣入門

    引言 位元幣基本結構 位元幣基礎知識 1)哈希演算法 2)非對稱加密技術 3)數字簽名 4)MerkleTree 5)哪有位元幣,有的是UTXO 6)位元幣挖礦與共識 7)區塊驗證(共識) 總結 引言 上一篇我們已經知道了什么是區塊鏈,此篇說一下區塊鏈的第一個應用——位元幣。其實先有位元幣,后有的區塊 ......

    uj5u.com 2020-09-10 03:06:15 more
  • 北斗對時服務器(北斗對時設備)電力系統應用

    北斗對時服務器(北斗對時設備)電力系統應用 北斗對時服務器(北斗對時設備)電力系統應用 京準電子科技官微(ahjzsz) 中國北斗衛星導航系統(英文名稱:BeiDou Navigation Satellite System,簡稱BDS),因為是目前世界范圍內唯一可以大面積提供免費定位服務的系統,所以 ......

    uj5u.com 2020-09-10 03:06:20 more
最新发布
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:46:47 more
  • Hyperledger Fabric 使用 CouchDB 和復雜智能合約開發

    在上個實驗中,我們已經實作了簡單智能合約實作及客戶端開發,但該實驗中智能合約只有基礎的增刪改查功能,且其中的資料管理功能與傳統 MySQL 比相差甚遠。本文將在前面實驗的基礎上,將 Hyperledger Fabric 的默認資料庫支持 LevelDB 改為 CouchDB 模式,以實作更復雜的資料... ......

    uj5u.com 2023-04-16 07:28:31 more
  • .NET Core 波場鏈離線簽名、廣播交易(發送 TRX和USDT)筆記

    Get Started NuGet You can run the following command to install the Tron.Wallet.Net in your project. PM> Install-Package Tron.Wallet.Net 配置 public reco ......

    uj5u.com 2023-04-14 08:08:00 more
  • DKP 黑客分析——不正確的代幣對比率計算

    概述: 2023 年 2 月 8 日,針對 DKP 協議的閃電貸攻擊導致該協議的用戶損失了 8 萬美元,因為 execute() 函式取決于 USDT-DKP 對中兩種代幣的余額比率。 智能合約黑客概述: 攻擊者的交易:0x0c850f,0x2d31 攻擊者地址:0xF38 利用合同:0xf34ad ......

    uj5u.com 2023-04-07 07:46:09 more
  • Defi開發簡介

    Defi開發簡介 介紹 Defi是去中心化金融的縮寫, 是一項旨在利用區塊鏈技術和智能合約創建更加開放,可訪問和透明的金融體系的運動. 這與傳統金融形成鮮明對比,傳統金融通常由少數大型銀行和金融機構控制 在Defi的世界里,用戶可以直接從他們的電腦或移動設備上訪問廣泛的金融服務,而不需要像銀行或者信 ......

    uj5u.com 2023-04-05 08:01:34 more
  • solidity簡單的ERC20代幣實作

    // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.7.0 <0.9.0; import "hardhat/console.sol"; //ERC20 同質化代幣,每個代幣的本質或性質都是相同 //ETH 是原生代幣,它不是ERC20代幣, ......

    uj5u.com 2023-03-21 07:56:29 more
  • solidity 參考型別修飾符memory、calldata與storage 常量修飾符C

    在solidity語言中 參考型別修飾符(參考型別為存盤空間不固定的數值型別) memory、calldata與storage,它們只能修飾參考型別變數,比如字串、陣列、位元組等... memory 適用于方法傳參、返參或在方法體內使用,使用完就會清除掉,釋放記憶體 calldata 僅適用于方法傳參 ......

    uj5u.com 2023-03-08 07:57:54 more
  • solidity注解標簽

    在solidity語言中 注釋符為// 注解符為/* 內容*/ 或者 是 ///內容 注解中含有這幾個標簽給予我們使用 @title 一個應該描述合約/介面的標題 contract, library, interface @author 作者的名字 contract, library, interf ......

    uj5u.com 2023-03-08 07:57:49 more
  • 評價指標:相似度、GAS消耗

    【代碼注釋自動生成方法綜述】 這些評測指標主要來自機器翻譯和文本總結等研究領域,可以評估候選文本(即基于代碼注釋自動方法而生成)和參考文本(即基于手工方式而生成)的相似度. BLEU指標^[^?88^^?^]^:其全稱是bilingual evaluation understudy.該指標是最早用于 ......

    uj5u.com 2023-02-23 07:27:39 more
  • 基于NOSTR協議的“公有制”版本的Twitter,去中心化社交軟體Damus

    最近,一個幽靈,Web3的幽靈,在網路游蕩,它叫Damus,這玩意詮釋了什么叫做病毒式營銷,滑稽的是,一個Web3產品卻在Web2的產品鏈上瘋狂傳銷,各方大佬紛紛為其背書,到底發生了什么?Damus的葫蘆里,賣的是什么藥? 注冊和簡單實用 很少有什么產品在用戶注冊環節會有什么噱頭,但Damus確實出 ......

    uj5u.com 2023-02-05 06:48:39 more