php - 在 foreach 循环中编辑每个表格行
问题描述
我在故事行上有一个 foreach 循环。每行都有一个“编辑”按钮,仅用于编辑该行。使用 JS,我想获得一个隐藏的打开并编辑该行。
Bellow 是我尝试过的代码,但它仅适用于一个元素。
<?php
foreach($sofas as $sofa)
{
?>
<tr>
<td><?php echo $sofa["name"];?></td>
<td><?php echo $sofa["zirkar"];?></td>
<td><?php echo $sofa["parche"];?></td>
<td><?php echo $sofa["fiparche"];?></td>
<td><?php echo $sofa["mizvasat"];?></td>
<td><?php echo $sofa["asaly"];?></td>
<td>
<input onclick="myFunction()" type="button" value="ویرایش">
</td>
</tr>
<tr style="display:none;" id="<?php echo $sofa["id"];?>">
<td>
This is my DIV element.
</td>
</tr>
<?php
}
?>
<script>
function myFunction() {
<?php
foreach($sofas as $sofa)
{
?>
var x = document.getElementById("<?php echo $sofa["id"];?>");
<?php
}
?>
if (x.style.display === "none") {
x.style.display = "block";
} else {
x.style.display = "none";
}
}
</script>
我还在学习,所以请帮我解决我的问题。我期待代码适用于每个单独的表格行。
解决方案
你为什么不使用这样的东西:
<?php
foreach($sofas as $sofa)
{
?>
<tr>
<td><?php echo $sofa["name"];?></td>
<td><?php echo $sofa["zirkar"];?></td>
<td><?php echo $sofa["parche"];?></td>
<td><?php echo $sofa["fiparche"];?></td>
<td><?php echo $sofa["mizvasat"];?></td>
<td><?php echo $sofa["asaly"];?></td>
<td>
<input onclick="myFunction('<?php echo $sofa["id"];?>')" type="button" value="ویرایش">
</td>
</tr>
<tr style="display:none;" id="<?php echo $sofa["id"];?>">
<td>
This is my DIV element.
</td>
</tr>
<?php
}
?>
<script>
function myFunction(id) {
var x = document.getElementById(id);
if (x.style.display === "none") {
x.style.display = "block";
} else {
x.style.display = "none";
}
}
</script>
代码很简单,只需要将元素id传给js函数即可。
推荐阅读
- java - 如何修复线程“AWT-EventQueue-0”java.lang.NullPointerException中的异常?
- ios - 'NSInvalidArgumentException',原因:'-[UISearchBar searchTextField]:无法识别的选择器发送到实例
- swift - 在工作表中使用 NavigationLink 后的两个 UINavigationController
- reactjs - 材质 UI 导致 __WEBPACK_IMPORTED_MODULE_4_react___default.a.memo is not a function 错误
- linux - 为什么 sed 命令中 g 关键字之前有 2 个正斜杠?
- php - Yii2 中的测试驱动开发不适用于课程
- python - 如何在python中的元组列表中有效地获取元素
- angular - 无法绑定到“matRowDefColumns”,因为它不是“mat-row”的已知属性
- vue.js - Vue.js 和数据存储在文本/脚本文件中
- reactjs - 错误:输入是一个空元素标记,既不能有 `children`,也不能使用 `dangerouslySetInnerHTML`