如何单击使用singe按钮通过php脚本生成的所有数据库按钮?

时间:2019-01-22 14:03:50

标签: php html

我遇到的问题是我有多个按钮,这些按钮是通过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生成的按钮,以及另一个按钮以将其全部单击,但是我陷入了需要单击所有按钮的部分。

2 个答案:

答案 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
}