Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >只能使用PHP表的第一行(按钮)

只能使用PHP表的第一行(按钮)
EN

Stack Overflow用户
提问于 2021-10-24 06:35:09
回答 3查看 67关注 0票数 1

我对此很陌生,但仍然对我的问题感到困惑,下面是我的php的一个表

代码语言:javascript
运行
AI代码解释
复制
<table>
            <tr>
                <th align="center">ID</th>
                <th align="center">Project Name</th>
                <th align="center">Due Date</th>
                <th align="center">Sub Date</th>
                <th align="center">Comment</th>
                <th align="center">Status</th>
                <th align="center">Option</th>
            </tr>

            <tr>
            
            <?php
                
                while ($res2=mysqli_fetch_assoc($result2)) {

                    echo "<tr>";
                    echo "<td>".$res2['project_id']."</td>";
                    echo "<td>".$res2['project_name']."</td>";
                    echo "<td>".$res2['duedate']."</td>";
                    echo "<td>".$res2['subdate']."</td>";
                    echo "<td>\"".$res2['comment']."\"</td>";
                    echo "<td>".$res2['status']."</td>";
                    
                    //as you can see, id = myId
                    echo "<td><a href=\"#\" id=\"myId\" class=\"button\">View</a>";
                }?>
                </td>
            </tr>
        </table>

据推测,当单击每一行旁边的按钮时,会出现一个弹出窗口,但只有第一行才能工作,而其他按钮则什么也不做。我已经搜索了大约两个小时了,他们中的大多数都谈到了唯一的id,但是我如何实现或修复这个问题。

这是一个脚本

代码语言:javascript
运行
AI代码解释
复制
        document.getElementById('myId').addEventListener("click", function () {
            document.querySelector('.bg-modal').style.display = "flex";
        });

非常感谢你的帮助,非常感谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-10-24 06:41:08

你可以试试:

代码语言:javascript
运行
AI代码解释
复制
[].slice.call(document.querySelectorAll('[id^="myId"]'))
.map(el => el.addEventListener("click", function () {
    document.querySelector('.bg-modal').style.display = "flex";
}));

你应该改变你的代码:

代码语言:javascript
运行
AI代码解释
复制
 $i = 0;
 while ($res2=mysqli_fetch_assoc($result2)) {
     ......
     //as you can see, 
     echo "<td><a href=\"#\" class=\"class-{++$i}\" class=\"button\">View</a>";
 }

现在,js代码:

代码语言:javascript
运行
AI代码解释
复制
[].slice.call(document.querySelectorAll('[class^="class-"]'))
.map(el => el.addEventListener("click", function () {
    document.querySelector('.bg-modal').style.display = "flex";
}));
票数 0
EN

Stack Overflow用户

发布于 2021-10-24 06:44:13

首先,您应该只对每个HTML元素使用唯一ID,如果要创建具有相同行为的多个元素,则使用class

将其更改为class之后,可以通过使用querySelectorAll()分配一次来选择所有的元素。

下面是一个工作示例:

代码语言:javascript
运行
AI代码解释
复制
document.querySelectorAll('button.click').forEach(elem => 
{
  elem.addEventListener('click', () => {
    document.querySelector('div').style.background = elem.innerText;
  });
});
代码语言:javascript
运行
AI代码解释
复制
div {
  width: 200px;
  height: 200px;
}
代码语言:javascript
运行
AI代码解释
复制
<button id="1" class="click">green</button>
<button id="2" class="click">blue</button>
<div></div>

票数 1
EN

Stack Overflow用户

发布于 2021-10-24 07:15:08

id应该是唯一的。您不应该在一个页面中使用同一id的两倍。就是为了达到这个目的。

首先,我们应该在每个按钮上添加一个类,告诉我们这个按钮是用来显示模态的。我们还删除了id,因为它不会是唯一的,在这里也是无用的。

代码语言:javascript
运行
AI代码解释
复制
echo "<td><a href=\"#\" class=\"modal-button button\">View</a>";

然后,为了添加侦听器,我们希望针对每个具有我们刚刚添加的新的“模式-按钮”的按钮。正确的方法是使用类来锁定元素,迭代它们并添加侦听器。

代码语言:javascript
运行
AI代码解释
复制
document.getElementsByClassName(‘modal-button’).forEach(button => {

    button.addEventListener("click", function () {
        document.querySelector('.bg-modal').style.display = "flex";
    });

})

希望这能帮上忙!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69697750

复制
相关文章
曾经,我以为我很懂MySQL索引
  在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。
陈哈哈
2020/09/11
8070
曾经,我以为我很懂MySQL索引
匿名函数自调用_自己调用自己的函数叫
我们知道一个HTML文件在被加载的时候是从根标签html依次往下的,在遇到link,script等标签引入的外部资源时,下载外部资源,并执行外部资源。在js中,表达式会被立即执行,也就是说,不管是引入的外部js文件还是嵌入在html文件中的js脚本,其中的表达式都会被立即执行。 函数名是一个指向函数的指针。在JavaScript中,定义函数有常见的两种形式:函数声明和函数直接量(或者叫函数表达式)。 函数声明:采用function定义声明函数的标准写法,包括function,函数名,函数体。如
全栈程序员站长
2022/11/09
2.6K0
这代码写的太烂了!你以为我真想写“垃圾代码”吗?
很多时候作为底层的“码农”我们并没有选择权,然后我们的青春就浪费在了重复写垃圾代码里,浪费在了“项目目标里”,自己得到的也就是比正常小白领多一点的薪水,但是自己的发展空间被严重限制了
搜云库技术团队
2019/09/26
1K0
我是不会运行你的代码吗?不,我是不会导入自己的数据!
常常遇到有人问起看到分享的教程导入数据的方式是data(dune)等直接调用系统的数据,而自己怎么读入自己的数据呢?
生信宝典
2022/01/18
1.5K0
我的细胞系还是我以为的细胞系嘛?
我们在做细胞实验的时候,经常会有这样的疑虑,细胞被那么多人蹂躏了那么多次了,那我现在操作的细胞当时我以为的那个细胞系嘛?会不会有人在传代的时候不小心把这个细胞系的名字写成了另外的名字,然后就这样一直传下去了呢。
医学数据库百科
2020/07/07
4700
关于Linux的grep -f命令,我以为我发现了bug
今天,我像往常一样提取基因组的样本,我有一堆样本的ID,需要从所有的基因型的文件中提取出来。
邓飞
2021/09/03
1.2K0
一日一技:多个Python项目怎么调用我自己的工具函数?
在多年写代码的过程中,我总结了不少常用的工具函数。这些工具函数有的能够实现快速重试网络请求,有的可以把任意格式的时间转成标准格式,还有的可以自动生成正则表达式。
青南
2022/05/23
1.1K0
一日一技:多个Python项目怎么调用我自己的工具函数?
我准备自己做一个卫星
我是不是膨胀了,连卫星都敢做了?不知道你是否有想过自己制作一颗卫星吗?看完本篇文章,你也能自己做个卫星,要想上天就差个火箭了!
单片机点灯小能手
2020/07/17
1.1K0
我准备自己做一个卫星
我以为我很懂Promise,直到我开始实现Promise/A+规范
2我一度以为自己很懂Promise,直到前段时间尝试去实现Promise/A+规范时,才发现自己对Promise的理解还过于浅薄。在我按照Promise/A+规范去写具体代码实现的过程中,我经历了从“很懂”到“陌生”,再到“领会”的过山车式的认知转变,对Promise有了更深刻的认识!
程序员白彬
2021/03/09
6480
我以为我很懂Promise,直到我开始实现Promise/A+规范
我以为我很懂Promise,直到我开始实现Promise/A+规范
我一度以为自己很懂Promise,直到前段时间尝试去实现Promise/A+规范时,才发现自己对Promise的理解还过于浅薄。在我按照Promise/A+规范去写具体代码实现的过程中,我经历了从“很懂”到“陌生”,再到“领会”的过山车式的认知转变,对Promise有了更深刻的认识!
程序员白彬
2021/03/23
8000
我可以在一个构造函数中调用另一个构造函数么
但在 C++11 版本之前是不可以的,不过你可以通过两种方式来模拟实现(可以参见 the C++ FAQ entry),
ClearSeve
2022/02/10
3.2K0
[C#]我自己写的一个对字节中每位进行修改值的函数
byte初始状态: 11111111 byte修改第0位后的结果: 01111111 byte修改第1位后的结果: 00111111 byte修改第2位后的结果: 00011111 byte修改第3位后的结果: 00001111 byte修改第4位后的结果: 00000111 byte修改第5位后的结果: 00000011 byte修改第6位后的结果: 00000001 byte修改第7位后的结果: 00000000
静默虚空
2022/05/07
2.2K0
GitHub:我开源我自己;CEO:不存在的
TypeScript的开发者Resynth忽然Po了篇文章,表示代码托管服务GitHub的全部源代码被泄露。
龙哥
2020/11/19
5390
GitHub:我开源我自己;CEO:不存在的
我卷我自己——cvpr2021:Involution
本文重新回顾了常规卷积的设计,其具有两个重要性质,一个是空间无关性,比如3x3大小的卷积核是以滑窗的形式,滑过特征图每一个像素(即我们所说的参数共享)。另外一个是频域特殊性,体现在卷积核在每个通道上的权重是不同的。
BBuf
2021/03/25
1.9K1
故障分析 | MySQL:我的从库竟是我自己!?
爱可生 DBA 团队成员,负责项目日常问题处理及公司平台问题排查。热爱互联网,会摄影、懂厨艺,不会厨艺的 DBA 不是好司机,didi~
爱可生开源社区
2023/08/18
2180
故障分析 | MySQL:我的从库竟是我自己!?
用XGB调XGB?"我"调"我"自己?
上篇《深恶痛绝的超参》已经介绍了很多实用的调参方式,今天来看一篇更有趣的跳槽方法,用ML的方式调ML的模型我们用我们熟悉的模型去调我们熟悉的模型,看到这里很晕是不是,接下来我们就看看XGBoost如何调XGBoost。
炼丹笔记
2021/06/15
5000
我什么也不懂,能搞个自己的网站吗?能!
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common
我被狗咬了
2019/11/12
2.3K0
重构 -- 我是一个类,难道我不配有专属的测试代码吗?
刚看到这个观点的时候,我是很不以为然的,谁让它标题不吸引人>>>《构建测试体系》 就这标题,谁不知道要测试啊。还好我没有“以貌取文”,我认真的看了下去。
看、未来
2020/08/26
7730
我眼中的变量聚类
‍‍‍‍‍ 连续变量压缩的基本思路为:建模之前使用主成分、因子分析或变量聚类的方法进行变量压缩,后续建模时使用向前法、向后法、逐步法或全子集法进一步进行变量细筛。虽然方法的名称叫做变量聚类,但却并不是聚类分析,而是一种主成分分析的方法。
许卉
2019/07/15
1.5K0
我眼中的变量聚类
点击加载更多

相似问题

我可以为spring提供我自己的变量插值器吗?

10

Powershell:我可以为我自己的函数参数使用一个现有的枚举吗?

110

我可以为我自己的类创建资源属性吗?

10

我可以为carrot2使用我自己的标签吗?

16

我可以为我的业务逻辑创建自己的状态代码吗?

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档