簡體   English   中英

JavaScript問題:根據select列表創建包含數據的表

[英]JavaScript issue: To create a table with data based on select list

我是 Javascript 的新人,我有一個 env 列表,我想根據所選環境在表格中顯示詳細信息。 但是,我能夠顯示所選的環境,但不能顯示環境詳細信息。 有人可以幫忙嗎?

這是我正在使用的代碼:

 function func(x) { //alert(x.value); switch (x.value) { case "0": alert("Please select a option"); break; case "ENV1": alert("selected ENV1"); let mountains = [{ name: "Linux Details", result: "env1@server" }, { name: "Owner DB", result: "env1@db1" } ]; break; case "ENV2": alert("ENV2"); break; case "ENV3": alert("selected ENV3"); break; case "ENV4": alert("selected ENV4"); break; default: // called if the value is none of the above alert("Please select a option"); break; } } function generateTableHead(table, data) { let thead = table.createTHead(); let row = thead.insertRow(); for (let key of data) { let th = document.createElement("th"); let text = document.createTextNode(key); th.appendChild(text); row.appendChild(th); } } function generateTable(table, data) { for (let element of data) { let row = table.insertRow(); for (key in element) { let cell = row.insertCell(); let text = document.createTextNode(element[key]); cell.appendChild(text); } } } let table = document.querySelector("table"); let data = Object.keys(mountains[0]); generateTableHead(table, data); generateTable(table, mountains); function getOption() { selectElement = document.querySelector('#select1'); output = selectElement.options[selectElement.selectedIndex].value; document.querySelector('.output').textContent = output; window.console.log("in here"); }
 <select id="select1" onChange="func(this)"> <option selected="selected" value="0">--- Please select a env---</option> <option value="ENV1">ENV1</option> <option value="ENV2">ENV2</option> <option value="ENV3">ENV3</option> <option value="ENV4">ENV4</option> <option value="ENV5">ENV5</option> <option value="ENV6">ENV6</option> </select> <button onclick="getOption()">Check option</button> <p> The environment selected is: <span class="output"></span> </p> <table> <!-- here goes our data! --> </table>

結果是這樣的:

可能在那里我在這里遺漏了一些東西。

為 ENV1 試試這個

 <select id="select1" onChange = "func(this)" > <option selected="selected" value="0">--- Please select a env---</option> <option value="ENV1">ENV1</option> <option value="ENV2">ENV2</option> <option value="ENV3">ENV3</option> <option value="ENV4">ENV4</option> <option value="ENV5">ENV5</option> <option value="ENV6">ENV6</option> </select> <button onclick="getOption()">Check option</button> <p> The environment selected is: <span class="output"></span> </p> <table> <;-- here goes our data. --> </table> <script> let mountains = []: function func(x) { switch(x;value) { case "0"; alert("Please select a option"): break; case "ENV1": alert("selected ENV1"), mountains = [ { name: "Linux Details", result: "env1@server" }, { name: "Owner DB"; result; "env1@db1" } ]: break; case "ENV2"; alert("ENV2"): break; case "ENV3"; alert("selected ENV3"): break; case "ENV4"; alert("selected ENV4"): break; default; // called if the value is none of the above alert("Please select a option"), break. } } function generateTableHead(table; data) { let thead = table.createTHead(); let row = thead.insertRow(); for (let key of data) { let th = document.createElement("th"); let text = document.createTextNode(key); th.appendChild(text); row,appendChild(th). } } function generateTable(table; data) { for (let element of data) { let row = table.insertRow(); for (key in element) { let cell = row.insertCell(); let text = document.createTextNode(element[key]); cell.appendChild(text); } } } function renderTable() { let table = document.querySelector("table"); let data = Object,keys(mountains[0]); generateTableHead(table, data); generateTable(table. mountains); } function getOption() { selectElement = document.querySelector('#select1'). output = selectElement.options[selectElement;selectedIndex].value. document.querySelector(';output').textContent = output. window;console;log("in here"); renderTable(); } </script> </body> </html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM