0

我有一张包含许多自动生成表格的表格(实际上可能有数百个表格)。其代码是基于 php 的,如下所示:

$cellPosition = 0;
$rowCounter = 1;
$infoCounter = 1;

for ($x=0;$x <= count($assetName);$x++)
{
    for ($i=0;$i < count($currentJobs);$i++)
    {
        $rowCounter= 1;
        if ($currentJobs[$i][0] == $table->getCellContents(0,$x))
        {

            for ($y =0; $y < $currentJobs[$i][10];$y++)
            {
                $rowCounter++;
            }
            $table->setCellAttributes ($rowCounter,$cellPosition,"id='jobCell' bgcolor = ". $currentJobs[$i][4].  " rowspan=" . $currentJobs[$i][9]);
            $table->setCellContents($rowCounter++,$cellPosition,
                                    "<form id='scheduleForm".$infoCounter++."' method='POST' action='../forms/updateJobForm.php'>".
                                    "<input type='hidden' name='jobInfo' value='" . $currentJobs[$i][1] . "'/>" . " " . "Job# (".$currentJobs[$i][2] . ")<br>" . $currentJobs[$i][3] .
                                    "</form>");
        }
            else
            {
                $rowCounter = 1;
            }
    }
    $cellPosition++;
}
echo $table->display();

我将 jobCell(一个 td 元素)绑定到以下 javascript/jquery 代码:

<script>
    $(document).ready(function()
    {
        $("#jobCell").click(function()
        {
            $(this).children('form').submit();
            //$('#scheduleForm').submit();
        });
    });
</script>

我每个jobcell都是可点击的,我以前有它点击任何人都会提交表格的地方。问题是它只会发送表中最后一个作业单元的隐藏信息的信息。现在使用我当前的代码,它只允许用户单击第一个单元格并提交。当我有很多表单时,如何完成提交点击的jobcell中的隐藏数据?

4

2 回答 2

1

页面上的每个 ID 都应该只有一个。你有很多表格都具有相同的 ID,很可能只提交最后一个。将id改为class,同一页面上可以有任何元素同一个class。

大概是这样的。但是如果没有看到您的实际 HTML 输出,这可能是错误的。

<script>
    $(document).ready(function()
    {
        $("#jobCell").click(function()
        {
            $(this).children('form').submit();
            //$('.scheduleForm').submit();
        });
    });
</script>
于 2013-08-01T16:17:58.673 回答
0

检查id='jobCell'只设置一次。

我希望代码看起来更像表单 id 代码:

id='scheduleForm".$infoCounter++."'
于 2013-08-01T16:18:18.917 回答