我怎样才能从一个 table 复选框中找到有关所选复选框位置的信息?

How could I, from a table made of checkboxes, find informations about the position about the selected ones?

一些比赛:

我在 MySQL 的数据库中有三个 table,名字是意大利语。

"Attività" 和 "Ambito" 每个只有两列:ID 和 NOME。 "Azione" 有三个外键。一个在 "Ambito" 的 ID 列上,一个在 "Attività" 的 ID 列上,一个在另一个 table 的 ID 列上,每次 [=55] 都会自动递增 1 =] 按钮被按下并包含其他类型的信息。 我想做的是制作一个表单,用户可以通过 selecting "Attività" 和 "Ambito" 的尽可能多的组合来填充 che table "Azione"他喜欢。

我做了什么:

我创建了一个充满检查点的动态 table,行来自 table "Ambito",列来自 "Attività",如下所示:

 _ | 1 | 2 | 3 | 4 | 5 |
 a |   |   |   |   |   |
 b |   |   |   |   |   |
 c |   |   |   |   |   |
 d |   |   |   |   |   |

用户可以在其中 select 多个复选框,如下所示:

 _ | 1 | 2 | 3 | 4 | 5 |
 a |   |   |   |   |   |
 b |   | x |   | x |   |
 c |   | x |   |   |   |
 d |   | x |   |   |   |

这是模板页面和 Smarty 代码页中此表单的代码:

模板:

     <form name="{$formName}" id="inserisciazioni" method="{$formMethod}" action="{$formAction}" class="form_standard">
            <table>
                <tr>
                    <td></td>
                    {section name=attivita loop=$fAttivitaList}
                        <td>{$fAttivitaList[attivita].descrizione}</td>
                    {/section}
                </tr>
                {section name=ambito loop=$fAmbitoList}
                    <tr> 
                        <td>{$fAmbitoList[ambito].descrizione}</td>
                        {section name=attivita loop=$fAttivitaList}
                            <td><input type="checkbox" name="cbamb" class="cbAzione" id="{$servizi[key].nome}" value="{$servizi[key].nome}" /> </td>
                        {/section}

                    </tr>
                {/section}
            </table>
            <input name="{$btnSubmitName}" id="submitBtnInter" type="submit" class="default_submit" value="Invia" />
        </form>

"Logic code" 页数:

$listATT = new AttivitaList($db);
$listaAttivita = array();
for ($listATT->start(); !$listATT->isAfter(); $listATT->forth()) {
$rt = array('id' => $listATT->item()->getId(), 'descrizione' => $listATT->item()->getNome());
$listaAttivita[] = $rt;
}
$smarty->assign("fAttivitaList", $listaAttivita);

$listAMB = new AmbitoList($db);
$listaAmbito = array();
for ($listAMB->start(); !$listAMB->isAfter(); $listAMB->forth()) {
$rt = array('id' => $listAMB->item()->getId(), 'descrizione' => $listAMB->item()->getNome());
    $listaAmbito[] = $rt;
}
$smarty->assign("fAmbitoList", $listaAmbito);

我想做的事情:

我想找到一种方法来了解 table 的哪些复选框被 select 编辑了,哪些没有,方法是查找有关它们在行 "Ambito" 和列 "Attivita".

因此,我可以在 "Azione" 中添加与 select 编辑的复选框一样多的行。

传递 2 custom attribute 以维护复选框中的 rowcolumn,例如:

<td><input type="checkbox" name="cbamb" class="cbAzione" data-row="1" data-col="1" id="{$servizi[key].nome}" value="{$servizi[key].nome}" /> </td>

这里 data-row, data-col 有动态值。您可以使用常见的 classattr()data() 选择器来获取它们,例如:

$('.cbAzione').attr('data-row');
$('.cbAzione').attr('data-col');

您可以代表选择执行任何操作。