一些比赛:
我在MySQL的数据库中有三个表,名称是意大利语。
“Attività”和“Ambito”每个只有两列:ID和NOME。 “Azione”有三个外键。一个在“Ambito”的ID列上,一个是“Attività”的ID列,另一个是另一个表的ID列,每次按下“提交”按钮时,它会自动递增1并加入其他类型的信息。 我想做的是制作一个表格,用户可以通过选择“Attivit”和“Ambito”的组合来填充che table“Azione”。
我做了什么:
我创建了一个充满检查点的动态表,其中来自“Ambito”表的行和来自“Attività”的列如下所示:
_ | 1 | 2 | 3 | 4 | 5 |
a | | | | | |
b | | | | | |
c | | | | | |
d | | | | | |
用户可以在其中选择多个复选框,如下所示:
_ | 1 | 2 | 3 | 4 | 5 |
a | | | | | |
b | | x | | x | |
c | | x | | | |
d | | x | | | |
这是Smarty中的tamplate页面和代码页的此表单的代码:
模板:
<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>
“逻辑代码”页面:
$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);
我想做什么:
我想通过查找有关“Ambito”行和“Attivita”列的位置信息,找到一种方法来了解表的哪些复选框以及哪些复选框没有被选中。
因此,我可以在“Azione”中添加尽可能多的行,因为选择了许多复选框。
答案 0 :(得分:1)
通过2 custom attribute
将row
和column
保留在以下复选框中:
<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
中包含动态值。您可以使用常见的class
和attr()
或data()
选择器来获取它们,例如:
$('.cbAzione').attr('data-row');
$('.cbAzione').attr('data-col');
代表选择,您可以执行任何操作。