我目前有一个大约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">
答案 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')
。