我遇到的问题是我有多个按钮,这些按钮是通过php从数据mysql数据库中生成的,我不想手动单击所有按钮(它可能超过150个)。如何在HTML或PHP中创建一个按钮以将其全部单击?或如何选择每个按钮的ID(不是手动)以将其包括在“常规”按钮中?
我尝试在按钮上添加onclick="document.getElementByID('').click()"
,我想全部单击但没有成功
这是我拥有的代码和问题:
<?php
// server info
$server = 'localhost';
$user = 'root';
$pass = '';
$db = 'testcases';
// connect to the database
$mysqli = new mysqli($server, $user, $pass, $db);
//fetching data
// get the records from the database
if ($result = $mysqli->query("SELECT * FROM test1 ORDER BY id"))
{
// display records if there are records to display
if ($result->num_rows > 0)
{
echo "<table style=\"position:absolute; left:10px; top:80px;\" border ='1px'>";
while ($row = $result->fetch_object())
{
echo "<tbody>";
echo "<tr>";
echo "<td><textarea id=\"row->date\">". $row->date ." </textarea></td>";
echo "<td><textarea id=\"row->testcase\">". $row->testcase ."</textarea></td>";
echo "<td><textarea id=\"row->percentage\">". $row->percentage ." </textarea></td>";
echo "<td><a href='temp.php?id=" . $row->id . "'><button type=\"button\" class=\"btn\" name=\"id\" id=\"$row->id\" >COPY To Temp</button></a></td>";
echo "</tr>";
echo "</tbody>";
}
echo "</table>";
}
}
// close database connection
$mysqli->close();
?>
<button type="button" style="width:200px" class="pure-button fuller-button1 blue" onclick="document.getElementByClassName('btn').click();">Copy All</button>
预期结果将是有一个包含多行的表和通过php生成的按钮,以及另一个按钮以将其全部单击,但是我陷入了需要单击所有按钮的部分。
答案 0 :(得分:0)
我不知道您真正想做什么,但首先将按钮放入链接是一件很奇怪的事情:如果您想要一个类似的按钮,可以添加一个样式像按钮的span子元素,想要一个按钮,只听其上的单击事件。
另一件事是,您可以使用表单+复选框,以便您的按钮可以通过提交表单来执行单个操作(并且该单个操作/ HTTP查询将在服务器端的N个操作(循环)中展开)
如果您真的想像您一样做,使用ID属性并没有错,但对可读性和CSS选择都没有帮助,我将使用data-*
属性。
所以,现在您想要一个简单的答案;)
var elements = document.getElementsByClassName("btn");
for (var i=0; i<elements.length; i++) {
elements[i].click(); // or anything you want
}
如果您想获得id
个属性,可以这样做:
var elements = document.getElementsByClassName("btn");
var ids = [];
for (var i=0; i<elements.length; i++) {
ids.push(elements[i].id);
}
如果您打算使用jQuery:
var ids = [];
$(".btn").each(function() {
var $button = $(this);
ids.push($button.attr("id"));
});
答案 1 :(得分:-1)
尝试一下:
<button type="button" onclick="copyBtn()">Copy</button>
并使用jQuery
function copyBtn(){
var id = $(this).attr("id");
console.log(id);
//do some stuff
}