仅将单击的按钮更改为一个新按钮

时间:2019-09-20 06:21:10

标签: php jquery

我在表格行中有一个按钮,该按钮会更改为布尔值。

<tr id="<?php echo $zeile['id'] ?>" value="<?php echo $zeile['id'] ?>" class="task">
<td >
<form method="POST" action="main.php" value="<?php echo $zeile['id']; ?>">
<?php if ($done == true): ?>
    button type="submit" name="checkbtn" id='<?php echo $zeile['id']; ?>' >                                          
       Check
    </button>
    <input type="hidden" name="id" value="<?php echo $zeile['id']; ?>">
<?php else: ?>  
   <button type="submit" name="uncheckbtn" id='<?php echo $zeile['id']; ?>'>                                          
      UnCheck
   </button> 
   <input type="hidden" name="id" value="<?php echo $zeile['id']; ?>">  
<?php endif ?>     


</form>

</td>

单击此处的“ checkbtn”和“ uncheckbtn”按钮后,布尔值将更改。

$done = true;

if(isset($_POST['checkbtn'])){
    *sqlvariables*
    $done = false;
    *sql*
}

我希望使用jquery可以单击行上的任意位置以进行按钮单击:

$(".table tr").on('click', function() {
        $(this).toggleClass('highlighttask');
        $(this).find('button[name="checkbtn"]').click();
    });

问题是,如果我单击一行,则每个按钮都变为未选中状态。

我认为我需要使用id,但是我不知道如何。

1 个答案:

答案 0 :(得分:0)

您已经在tr上具有click事件处理程序,因此无需使用closest,只需使用find按钮

$(".table tr").on('click', function() {
        $(this).toggleClass('highlighttask');
        $(this).find('button[name="checkbtn"]').click();
    });