【问题标题】:How do i get my values from my .jsp into my javascript?如何将我的值从我的 .jsp 获取到我的 javascript 中?
【发布时间】:2021-03-26 18:32:54
【问题描述】:

这是我关于 stackoverflow 的第一个问题。 所以我正在为网络开发做一个大学项目。我的 PostgreSQL 服务器上有数据(多个整数)。例如 4、5 和 7。我让我的 Servlet (java) 通过表达式语言将其发布到我的 HTML (jsp) 上。

<ul> 
    <c:forEach var="i" items="${ arrayM }"> //arrayM is a ArrayList of a object from my server

            <li id="values">${ i.getNumber() }</li>
    </c:forEach>
</ul> 

我尝试使用document.getElementById("values").innerHTML;读取值,但该对象的类型是字符串。 我需要数组或其他东西中的值。所以我可以把它换成另一种方法:

data: [
    4, 5, 7

     ],

这是我的 chart.js 方法的一部分。我对 JavaScript 很陌生。

我试过了:

var x = document.getElementById("values").innerHTML;
var array = [x];

parseInt(array.toString()),

只给我第一个值。

【问题讨论】:

    标签: javascript java jsp


    【解决方案1】:

    元素的 ID 在 HTML 中是唯一的,所以首先你应该将 &lt;li id="values"&gt;...&lt;/li&gt; 更改为 &lt;li class="value"&gt;...&lt;/li&gt;,因为你不能有多个具有相同 ID 的元素。

    接下来,使用 document.querySelectorAll(".value"); 代替仅返回单个值的 document.getElementById("values").innerHTML; 以获取“值”类的所有项目作为元素的 NodeList。

    从那里你可以找到很多方法来使用你的数据,例如,如果你想做一个数组,你可以使用这样的东西

    const values = document.querySelectorAll(".value");
    let valuesArr = [];
    values.forEach(function(value){
        valuesArr.push(parseInt(value.innerHTML))
    })
    

    【讨论】:

      猜你喜欢
      • 2014-01-29
      • 1970-01-01
      • 1970-01-01
      • 2013-10-09
      • 2012-11-07
      • 2021-06-20
      • 1970-01-01
      • 2014-12-21
      • 2017-02-19
      相关资源
      最近更新 更多