Редактируемая строка в таблице – использует идентификатор записи в неправильной практике элемента <tr>?

Я пытаюсь сделать функцию с помощью jquery, чтобы редактировать таблицу имен категорий категорий.

До сих пор я заполнял таблицу, используя PHP / MySQL. Все это работает нормально.

Я прочитал jQuery – изменил строку строки строки, но это, похоже, не решает проблему того, как вы бы идентифицировали запись, если хотите сохранить ее обратно в базу данных.

Я видел решения, которые делают такие вещи:

<tr id="2"> <td>Foo</td> </tr> <td id="3"> <td>Bar</td> </td> 

Является ли этот подход использованием идентификаторов на элементе tr приемлемым? Кажется, что-то отстало, поскольку на самом деле это не так, как я понимаю, что идентификаторы должны использоваться в разметке? Например, если у вас было несколько таблиц (не то, что я делаю в моем случае), все идентификаторы внутри разметки должны быть уникальными, так что это была бы плохая практика?

Есть ли более эффективные подходы к решению этого?

Для получения некоторой справочной информации я хочу добиться этого:

  1. Таблица отображается при загрузке страницы.
  2. Нажмите кнопку «Изменить» в строке таблицы.
  3. Это превращает редактируемую строку – я считаю, что что-то подобное можно использовать для ссылки, которую я опубликовал.
  4. Измените кнопку «Изменить», чтобы сказать «Сохранить». Щелчок по этому вызову вызывает вызов ajax, но для этого потребуется отправить идентификатор строки и текстовое поле обратно в мой PHP-скрипт.

Данные относительно просты – в каждой строке таблицы есть только идентификатор и имя категории.

Вы должны изучить data attributes .

Как вы их используете …

 <tr data-id="2"> <td>Foo</td> .... </tr> <tr data-id="3"> <td>Bar</td> .... </td> 

И скажем, вам нужно получить идентификатор щелкнутой строки, вы можете сделать это, используя метод .data() .

 ... $('tr').on('click', function(){ id = $(this).data('id'); ... }); ...