开发者

Making table cells clickable

开发者 https://www.devze.com 2023-01-26 16:12 出处:网络
I currently have a table of about 30 rows and I would like to make <td> clickable in each case:

I currently have a table of about 30 rows and I would like to make <td> clickable in each case:

<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>

How do you make the table cell clickable? I would like it to have the same link as the form action that I have used which is:

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


This is a perfect example of where to use .delegate(), like this:

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

.delegate() attaches one handler to the <table>, rather than n handlers, one per cell. If you just want to navigate to the URL, it would look like:

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


To actually submit the form:

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

If you jsut want to follow the link instead, jsut modify the form.submit() part to change window.location.href with form.attr('action').


What about jQuery's click-event?

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

This submits the form inside the clicked <td>.

0

精彩评论

暂无评论...
验证码 换一张
取 消