如何从文本文件中提取数据并输出到网页表

问题描述 投票:1回答:2

基本上我想创建一个包含两行和四列的表。在第一列中,我希望能够通过下拉列表选择一些内容。一旦选择,与该选择相关联的数据将被输出到表中的其他3列。我是新手,所以请理解。

我用x,y,z显示了我想要显示的数据值。数据将从文本文件中提取。因此,例如,如果我选择玫瑰,那么温度,湿度和湿度将分别显示在x,y,z的位置。

<!DOCTYPE html>
<html>

  <head>
    <style>
      table {
        font-family: arial, sans-serif;
        border-collapse: collapse;
        width: 100%;
      }

      td,
      th {
        border: 1px solid #dddddd;
        text-align: left;
        padding: 8px;
      }

      tr:nth-child(even) {
        background-color: #dddddd;
      }

    </style>
  </head>

  <body>

    <h2>HTML Table</h2>

    <table>
      <tr>
        <th>Select Plant</th>
        <th>Temp</th>
        <th>Humidity</th>
        <th>Moisture</th>
      </tr>
      <tr>
        <td>
          <select id="mySelect" onchange="myFunction()">
    <option value="daisy">daisy
    <option value="tulip">tulip
    <option value="rose">rose
    <option value="sunflower">sunflower

</select>


          <p id="demo"></p>


          <script>
            function myFunction() {
              var x = document.getElementById("mySelect").value;
              document.getElementById("demo").innerHTML = "You selected: " + x;
            }

          </script>

          <td>x</td>
          <td>y</td>
          <td>z</td>

      </tr>


    </table>

  </body>

</html>

JSFiddle

javascript html css dropdown
2个回答
0
投票

您可以先稍微改进一下HTML:

<select id="mySelect" onchange="myFunction(this)">
    <option value="">Select a flower...</option>
    <option value="X1,Y1,Z1">daisy</option>
    <option value="X2,Y2,Z2">tulip</option>
    <option value="X3,Y3,Z3">rose</option>
    <option value="X4,Y4,Z4">sunflower</option>
</select>

为了符合HTML标准而关闭标记并添加“this”指针以避免JS函数中的硬编码ID(它允许您为多个元素重用该函数。

添加虚拟第一个元素“选择一个花......”因为onchange不会在页面重新加载时触发,您可能会错过数据表中的初始值。

将文件中的数据放入“value”属性中。请注意,如果文件大小很大,您应该设计一种不同的方法 - 涉及分页等。

在JavaScript中:

function myFunction(element) {
    var xyz = element.value;
    var flowerName = element.options[element.selectedIndex].innerHTML;
    // Parse xyz (in this example in is a string "X,Y,Z"
    // Maybe, parse/format flowerName too
    document.getElementById("demo").innerHTML = "You selected: " + flowerName ;
    document.getElementById("demo-values").innerHTML = "The data: " + xyz;
 }

0
投票

如果您不熟悉这种格式,我建议您将数据放在JSON文件中:https://www.w3schools.com/jS/js_json_intro.asp

在JS中直接获取数据会更容易,dans会在HTML页面上显示它。

在阅读了关于JSON之后,如果不可能告诉我!

© www.soinside.com 2019 - 2024. All rights reserved.