這次要寫一個 select 選單,並選擇該功能後會對應到該功能。
建立選單
1 2 3 4 5 6 7 8 9 10 11
| <label >Select: <select id="selectMode"> <option value="1">option_01</option> <option value="2">option_02</option> <option value="3">option_03</option> <option value="4">option_04</option> <option value="5">option_05</option> <option value="6">option_06</option> </select> </label>
|
JavaScript 寫法
首先要綁定 Select
選單,並給一個 change
事件。
1 2
| let select = document.querySelector("#selectMode"); select.addEventListener("change", selectFun);
|
要執行的 function,將要取得的值這個動作寫在函式中,不然無法選到。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| function selectFun() { const switchValue = select.options[select.selectedIndex].value; switch (switchValue) { case "1": option_01(); break; case "2": option_02(); break; case "3": option_03(); break; case "4": option_04(); break; case "5": option_05(); break; case "6": option_06(); break; default: return; } }
|
對應的函式功能。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| function option_01() { alert("選到 option_01"); }
function option_02() { alert("選到 option_02"); }
function option_03() { alert("選到 option_03"); }
function option_04() { alert("選到 option_04"); }
function option_05() { alert("選到 option_05"); }
function option_06() { alert("選到 option_06"); }
|
這樣就可以順利取到該功能的內容了,其中這一行程式碼可以有幾個寫法。
原生寫法
1
| const switchValue = select.options[select.selectedIndex].value;
|
使用 this
1
| const switchValue = this.value;
|
使用 jQuery
1 2 3 4 5 6 7 8
| $("#selectMode").change(selectFun);
function selectFun(value) { let switchValue = $(this).val(); switch (switchValue) { ... } }
|
這時候真心覺得 this 跟 jQuery 真棒!
CodePen https://codepen.io/hnzxewqw/pen/jOWbjEe