针对数组中单个窗体的单击按钮

Onclick button targeting a single form in an array

本文关键字:单击 按钮 窗体 单个 数组      更新时间:2023-09-26

我正试图让一个按钮在php数据数组中显示一个隐藏的表单。它是有效的,只是我不能让它一次只打开一个表格。单击任意按钮时,将显示所有表单。我曾尝试使用一个变量作为类,但后来函数停止了所有工作。

function deptStaffOptions ($deptId, $company){
    $retVal = "";
    // Connect to the database by creating a new mysqli object
    include "DBconnect.php";
    $query = "
    SELECT
        s.staffId,
        s.fName,
        s.lName
    FROM staff AS s
    INNER JOIN agencies AS a ON a.company = s.company
    WHERE s.company = '$company' AND s.archive = 0 AND s.staffId NOT IN (
      SELECT staffId FROM deptAgts WHERE deptID = $deptId)
      ORDER BY s.fName";

    $retVal = $retVal . "<button class='work' id='dept". $deptId ."'>Please Work</button><form class='work' class='dept". $deptId ."' style='display: none;'><select>";

    if ($resultCD = $mysql->query($query)) {
        while ($aRow = $resultCD->fetch_assoc()) {
            $retVal = $retVal . "<option value='".$aRow['staffId']."'>". $aRow['fName'] . " " . $aRow['lName'] . "</option>";
        }
    }
    $retVal = $retVal . "</select></form>";
    return $retVal;
    $mysqli->close();
}
print deptStaffOptions($deptId, $company);

这是我最初使用的javascript:

<script>
    $( "button.work" ).click(function() {
        $( "form.work" ).show( "fold", 1000 );
    });
</script>

这是有效的,但当单击任何按钮时,所有表单都会打开。

在下面的一个中,在警报中找到了id,但后来我尝试用实际数据(不是自动生成的)测试该类,结果它停止了工作。

<script>
    $( "button" ).click(function() {
        var department = (this.id);
        alert(department);
        $( "form.dept23" ).show( "fold", 1000 );
    });
</script>

如有任何帮助,我们将不胜感激!

一个标签中不能有两个类属性。只需用空格分隔班级即可。

$retVal = $retVal . "<button class='work' id='dept". $deptId ."'>Please Work</button><form class='work dept". $deptId ."' style='display: none;'><select>";

您可以动态选择使用:

<script>
    $( "button" ).click(function() {
        var department_id = (this.id);
        $( "form.dept" + department_id).show( "fold", 1000 );
    });
</script>