Заменить только нажатую кнопку на новую - PullRequest
1 голос
/ 20 сентября 2019

У меня есть кнопка внутри строки таблицы, которая изменяется с логическим значением.

<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();
    });

Проблема в том, что каждая кнопка становится непроверенной, если я нажимаю на одну строку.

Я думаю, что мне нужно работать с идентификаторами, но я не знаю, как.

1 Ответ

0 голосов
/ 20 сентября 2019

У вас уже есть обработчик события щелчка на tr, поэтому не нужно использовать closest, просто используйте find button

$(".table tr").on('click', function() {
        $(this).toggleClass('highlighttask');
        $(this).find('button[name="checkbtn"]').click();
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...