我在js中定義了一些陣列,我想用選定選項中的變數值來選擇我應該選擇哪個陣列。
我試著用這個方法:
我試著用這個方法。
//code HTML。
<選擇id="bank">。
<option value="ACB"/span>>。 ACB</option>
<option value="SCB"/span>> SCB</option>
</select>
<select id="month">
<option value="1"/span>> 1個月</選項>/span>
<option value="2"/span>> 2個月</選項>
<option value="3"/span>> 3個月</選項>
</select>/span>
<p id="demo"/span>> </p>
// JS
var ACB = ["1%"/span>, "2%"/span>, "3%"/span>] 。
var SCB = ["4%"/span>, "5%"/span>, "6%"/span>] 。
selectElement = document.querySelector('#bank') 。
var a = selectElement.value; // a = ACB
selectElement = document.querySelector(#month')。
var b = selectElement.value; //b = 1.
document.getElementById("demo"/span>)。 innerHTML = a[b]; // I was hoping result is "1%"。
歡迎任何建議!
非常感謝!
uj5u.com熱心網友回復:
根據你的代碼,你將永遠不會得到預期的結果。因為你正在采取a[b]。但是這里的a值型別將是字串,當你在字串上使用索引時,你將得到它的字符在那個特定的索引。
你可以實作預期的結果,如
1)創建一個包含ACB和SCB參考的dict
const dict = { ACB, SCB }。
2)你可以從dict獲得陣列的值,如
p.textContent = dict[a][b - 1] 。
3) b索引應該從零開始,所以為了得到第一個結果,你應該從b減去-1。
// JS
var ACB = ["1%"/span>, "2%"/span>, "3%"/span>] 。
var SCB = ["4%"/span>, "5%"/span>, "6%"/span>] 。
const dict = { ACB, SCB };
const bankEl = document.querySelector( '#bank' ) 。
const monthEl = document.querySelector( '#month' ) 。
const p = document.getElementById( "demo" ) 。
const a = bankEl.value; / a = ACB
const b = monthEl.value; / b = 1
p.textContent = dict[a][b - 1]; // I was hoping result is "1%"
<select id="bank"/span>>
<option value="ACB"/span>> ACB</option>。
<option value="SCB"/span>> SCB</option>。
</select>/span>
<select id="month">
<option value="1"/span>> 1個月</選項>/span>
<option value="2"/span>> 2個月</選項>
<option value="3"/span>> 3個月</選項>
</select>/span>
<h1 id="demo"/span>> </h1>
<iframe name="sif1" sandbox="allow-forms allow-modals allow-scripts" class="snippet-box-edit snippet-box-result" frameborder="0"></iframe>
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/316193.html
標籤:
