Итак, у меня есть еще одно раскрывающееся под именем пользователя при нажатии, показывая имя, адрес электронной почты и т. д. для этого пользователя, но он выводит информацию о пользователе для каждого пользователя под каждым именем пользователя, а не сразу под тем, который я щелкнул на.
Есть ли способ заставить его показывать только следующий элемент, а не все скрытые?
Я попытался захватить индекс щелкнутого (тот, который имеет имя пользователя, но я не могу заставить функцию работать с использованием любого типа логики типа index + 1.
Вот код, который у меня есть сейчас:
<?php
for ($output_user = 0; $output_user <= $num_pending - 1; $output_user++)
{
echo "\n\t<tr class=\"pending_users\">\n\t\t<td class=\"admin\">".$pending_user[$output_user][0]."</td>";
echo "\n\t\t<td class=\"m_1\"><input type=\"checkbox\" value=\"approve\"/></td>";
echo "\n\t\t<td class=\"m_l\"><input type=\"checkbox\" value=\"deny\"/></td>";
echo "\n\t</tr>";
echo "\n\t<tr class=\"showhide\">\n\t\t<td class=\"admin\" colspan=\"3\">Name:".$pending_user[$output_user][1]." ".$pending_user[$output_user][2]."\nEmail: ".$pending_user[$output_user][3]."\nEnrol Date: ".$pending_user[$output_user][4]."</td>\n\t</tr>";
echo "\n\t</tr>";
}
?>
<script>
$(document).ready(function() {
//Hides specific user details when the page loads
$("div.show_user_info tr.showhide:visible").hide();
//Makes every other row another bgcolor - effects pending user table only
$("tr.pending_users:odd").css("background-color", "#ffff00");
});
$("td.admin").click(function () {
var nextIndex = $("tr").index(this) + 1;
$("div.show_user_info tr.showhide:hidden").slideDown("slow");
});
$("tr.showhide").click(function () {
$(this).slideUp("slow");
});
</script>
Страница, над которой я работаю, — это страница администратора, где пользователь может одобрять или отклонять запросы на регистрацию. Я использую php для динамического создания строки таблицы для каждого пользователя в базе данных, ожидающей регистрации.
При этом, когда пользователь нажимает на имя пользователя пользователя, я хочу вставить +, который покажет информацию о пользователях (имя, дату запроса и т. д.), и это исчезнет, когда пользователь нажмет на другое с другим имя пользователя на нем, и он отображает другую строку и т. д. для этого пользователя.
PHP, который я использую для создания строк таблицы, таков:
<?php
for ($output_user = 0; $output_user <= $num_pending - 1; $output_user++)
{
echo "\n\t<tr>\n\t\t<td class=\"admin\">".$pending_user[$output_user][0]."</td>";
echo "\n\t\t<td class=\"m_1\"><input type=\"checkbox\" value=\"approve\"/></td>";
echo "\n\t\t<td class=\"m_l\"><input type=\"checkbox\" value=\"deny\"/></td>";
echo "\n\t</tr>";
}
?>
Могу ли я создать событие onclick, которое делает это с помощью php, или мне нужно использовать javascript? Я облазил весь интернет в поисках примеров чего-то подобного, но ничего полезного не нашел.