Я использую php codeigniter. Я отправляю данные в массив к моему представлению. На мой взгляд, у меня есть цикл foreach, который выполняет итерацию через массив и отображает данные в моем представлении. Также внутри этого цикла foreach я показываю некоторые кнопки действий.Идентификатор щелкнутого идентификатора
<?php
foreach($studentList as $r)
{
echo '<tr>';
echo $r->id;
echo '</tr>'?>
<a class="lock" data-id="<?= $r->id?>_lock" data-placement="top" data-original-title="Lock Profile" href="javascript:void(0)"><i class="clip-locked"></i></a>
<a class="hidden unlock" data-id="<?= $r->id?>_unlock" data-placement="top" data-original-title="Unlock Profile" href="javascript:void(0)"><i class="clip-unlocked"></i></a>
<?php
} ?>
Что я хочу сделать, чтобы отобразить кнопку блокировки по умолчанию, когда кто-то нажимает на эту кнопку блокировки должны получить скрытые и разблокировать кнопки должны получить отображается. в моем jquery я делаю это так, но нажатие на одну кнопку позволяет сменить кнопки на всей странице. Я знаю причину, поскольку я обращаюсь к элементу с использованием класса, который у всех из них распространен, но я еще не понял, как это сделать, используя id, который будет учитывать отдельные элементы.
$('.unlock').click(function() {
var id = $(this).attr("data-id");
console.log(id);
$('.unlock').addClass("hidden");
$('.lock').removeClass("hidden");
});
ваш код не удастся, ваш последний селектор не будет соответствовать ни одному элементу, он скроет элементы с щелчком и не покажет их. –
@ Kstro21, извините. Я редактировал код сейчас. Добавил этот ответ со своего мобильного телефона на ходу. –
вместо $ ('. Lock [data-id =' + id + '_ unlock]'). RemoveClass ("hidden"); Я использовал $ ('[data-id =' + id + '_ unlock]'). removeClass («hidden»); решил мою проблему. Пожалуйста, отредактируйте ответ, я принял его, но если у кого-то еще такая же проблема, вы должны исправить это. Благодаря!! –