Как получить идентификатор строки таблицы html

Предположим, у меня есть некоторые данные из базы данных и хранятся в массиве, которые:

$testArray = array( array('0', 'name1', 'status1'), array('1', 'name2', 'status2') ); 

и я могу распечатать содержимое массива в виде таблицы html, например, следующим образом:

 Id name status 0 name1 status1 1 name2 status2 

Я хочу использовать раскрывающийся список «статус» в конце каждой строки, чтобы изменить статус каждой записи и обновить ее в таблице базы данных. Мои вопросы: Как мне получить идентификатор строки каждой строки (столбец «ИД»), когда я выбираю вариант списка поворота? Как передать эту информацию на серверную базу данных, чтобы обновить таблицу базы данных? Я предполагаю, что он должен использовать некоторый javascript. И ниже приведен код:

 <?php $testArray = array( array('0', 'name1', 'status1'), array('1', 'name2', 'status2') ); ?> <html> <head> </head> <body> <table> <tr> <td>Id</td> <td>name</td> <td>status</td> </tr> <?php for ($i = 0; $i < count($testArray); $i++){ echo '<tr>'; for ($j = 0; $j < count($testArray[$i]); $j++){ echo '<td>'; echo $testArray[$i][$j]; echo '</td>'; } echo '<td>'; echo '<select>'; echo "'<option value='0'>status1</option>"; echo "'<option value='1'>status2</option>"; echo '</select>'; echo '</td>'; echo '</tr>'; } ?> </table> </body> </html> 

Спасибо за помощь!

Ты мог:

  1. Дайте каждому из ваших идентификаторов идентификатор, соответствующий строке данных.

  2. При изменении (jQuery), получите значение select и используйте jquery ajax-вызов для отправки rowID и «StatusValue» на страницу обработки.

  3. Показывать сообщение о состоянии при возврате данных.

http://api.jquery.com/jQuery.ajax/

–Создание выбора

 <?php for ($i = 0; $i < count($testArray); $i++){ echo '<tr>'; for ($j = 0; $j < count($testArray[$i]); $j++){ echo '<td>'; echo $testArray[$i][$j]; echo '</td>'; } echo '<td>'; **echo '<select id="' + $testArray[$i][0] + '">';** echo "'<option value='0'>status1</option>"; echo "'<option value='1'>status2</option>"; echo '</select>'; echo '</td>'; echo '</tr>'; } ?> 

–JQuery (вам понадобится файл jquery, загрузка с jquery.com)

 $(document).ready(function(){ $('select').change(function () { var rowIdVal = $(this).attr('id'); // the id of the select (your rowID) var statusVal = $(this).val(); // the value of the select // post id to the server using ajax (you can use jQuery ajax request) ////I would check if the values are valid and not null... $.ajax({ type: "POST", url: "YOURHANDLERFILE.php", data: {status: statusVal, rowId: rowIdVal}, success: function(d){ //show a status message } }); }); }); 

Ты можешь:

  1. Сохраните свой идентификатор строки в скрытом поле в первом столбце и получите с помощью jQuery
  2. Храните как атрибут id а затем используя jQuery, получите значение
  3. (Я думаю, что лучший) хранят идентификатор id в элементе управления select а затем получают значение для выбранного изменения индекса с помощью jQuery

    в html у вас будет:

    <select id="1">

    в javascript:

     $('select').change(function () { var id = $(this).attr('id'); // post id to the server using ajax (you can use jQuery ajax request) }); 

Я бы сделал что-то вроде

 $('#yourTableId').find('select').change(function() { //bind a change event to the selects $(this).closest('tr') //this way you get the tr element of the row you changed the select value .find('td:first') //or .find('td').first(). This will give you the td element for the Id column .val(); //The actual value of the td Id element });