使表格单元格可单击

时间:2010-11-25 01:39:57

标签: php javascript jquery

我目前有一个大约30行的表格,我想在每种情况下点击<td>

<tr height="100px" align="center">        
        <?php do { ?>
        <td style="background-color: <?php echo $row_dd1['colour']; ?>;">   
        <form action="pay.php?id=<?php echo $row_dd1['dNo']; ?>&user=<?php echo $username; ?>" method="post">
        <input type="hidden" id="<?php echo $row_dd1['dNo']; ?>"><input type="hidden" value="<?php echo $username; ?>">
          <button type="submit" class="link" id="t<?php echo $row_dd1['dNo']; ?>"><span><?php echo $row_dd1['dNo']; ?></span></button></form>
        </td>
        <?php } while ($row_dd1 = mysql_fetch_assoc($dd1)); ?>
    </tr>

如何使表格单元格可点击?我希望它与我使用的表单操作具有相同的链接:

<form action="pay.php?id=<?php echo $row_dd1['dNo']; ?>&user=<?php echo $username; ?>" method="post">

3 个答案:

答案 0 :(得分:5)

这是使用.delegate()的完美示例,如下所示:

$("#myTableID").delegate("td", "click", function() {
  $(this).find("form").submit();
});

.delegate()一个处理程序附加到<table>,而不是n个处理程序,每个单元格一个。如果您只想导航到URL,它将如下所示:

$("#myTableID").delegate("td", "click", function() {
  window.location.href = $(this).find("form").attr("action");
});

答案 1 :(得分:1)

jQuery的click-event怎么样?

$('td').click(function () {
    $('form', this).submit();
    return false;
});

这会在点击的<td>

中提交表单

答案 2 :(得分:1)

要实际提交表单:

$('td > form').each(function(i,e){
   var form = $(this);
   var cell = form.parent();
   if(cell.is('td')){
     cell.click(function(){
       form.submit();
     });
   }
});

如果您只想关注该链接,只需修改form.submit()部分即可window.location.href更改form.attr('action')