javascript - 如何使用数组将带有 id 的 PHP 表值链接到 javascript?
问题描述
让我解释一下我的问题/任务:
1) 我有一个 PHP 表,显示某个日期和时间的温度,以及来自天气预报的 API。2)工作是:用Javascript把这张表翻译成折线图。3) 我需要在 PHP 表和我的 Javascript 代码之间创建一个链接。但是我如何使用“数组”来做到这一点?4)我当前的方法:为 PHP 表中的每个 td 行使用一个 id 标记。接下来,创建一个 for 循环,检查 PHP 表 40 次(图表需要的数据点数),以收集下一个 td 行(不幸的是,我得到了相同值的 40 倍)。
简而言之,我如何使用表格数据并使其在 Javascript 中“可用”来创建折线图,作为温度的可视化表示。
在这里,您可以找到我当前使用 PHP 和 Javascript 编写的代码。非常欢迎任何反馈、帮助或建议!先谢谢你!
PHP部分for循环:
echo "<table>";
for ($j=0; $j < 40 ; $j++) {
echo "<tr>";
echo "<td id=Temp>{$data->list[$j]->main->temp}</td>";
echo "<td id=Datum>{$data->list[$j]->dt_txt}</td";
echo "</tr>";
}
echo "</table>";
Javascript:
var temp = new Array();
var datum = new Array();
for (var i=0; i < 40 ; i++) {
temp[i] = document.getElementById("Temp").innerText;
datum[i] = document.getElementById("Datum").innerText;
}
格雷茨,C.
解决方案
ID 必须是唯一的,你不能在每一行都有相同的id=Temp
和。id=Datum
你应该使用一个类。然后您可以使用该类遍历所有元素。
PHP:
echo "<table>";
for ($j=0; $j < 40 ; $j++) {
echo "<tr>";
echo "<td class="Temp">{$data->list[$j]->main->temp}</td>";
echo "<td class="Datum">{$data->list[$j]->dt_txt}</td";
echo "</tr>";
}
echo "</table>";
JS:
var temp = Array.from(document.querySelectorAll(".Temp")).map(el => el.innerText);
var datum = Array.from(document.querySelectorAll(".Datum")).map(el => el.innerText);
推荐阅读
- list - 如何使用 pnp powershell 在 sharepoint online 中使用 2 个列表 webpart 设置动态过滤?
- r - 创建新用户 - Shinymanager
- javascript - 我可以在不更改界面的情况下为 React Typescript 中的状态添加多个变量吗?
- python - Kaplan Meier 估计器无法正常工作
- angular - 如何将单选按钮的值以角度传递给我的复选框?
- html - 滚动时垂直导航栏与标题分开
- express - Express静态文件夹根据路由路径改变
- c# - 如何在 Unity 中以正确的顺序以 10 毫秒或更短的间隔接收所有键盘事件
- python - 将字典转换为数据框
- api - 是否可以以某种方式缓存 API 请求?