2017-03-27 16 views
0

一些比赛:我怎么能从一个由复选框组成的表格中找到关于选定位置的信息?

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

  • “Attivita”(活性)
  • “Ambito”(范围)
  • 的两个所谓的 “动作类”(动作)

“Attività” 和 “Ambito” 的关联表每个人只有两列:ID和NOME。 “Azione”有三个外键。一个在“Ambito”的ID列,“Attività”的ID列之一,另一个到另一个表的ID列,每次按下“提交”按钮时会自动递增1,并负责其他类型的信息。 我想要做的是制作一个表单,用户可以通过选择尽可能多的“Attività”和“Ambito”组合来填充che表“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 | | | | 

这是这种形式同时为tamplate页面和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> 

“逻辑代码” 页:

$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”中添加尽可能多的行,因为许多复选框被选中。

回答

1

通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'); 

上,您可以执行任何动作选择的代表。

相关问题