@postLaravel

Как сделать, чтобы статус менялся без перезагрузки страницы?

Хочу сделать,чтобы статус менялся без перезагрузки страницы. Вывожу в шаблон:

<span id="status-task">Статус задачи: <?php echo Task::getStatusTask($task['status']); ?></span>
<a href="#" class="btn change-status-complete" data-id="<?php echo $task['id'];?>">Отметить выполнение</a><br>
<a href="#" class="btn change-status-failed" data-id="<?php echo $task['id'];?>">Отметить провал</a><br>

В поле $task['status'] хранится число 1,2 или 3, в зависимости от текущего статуса задачи.
описание метода getStatusTask:
public static function getStatusTask($status)
    {
        switch ($status) {
            case '1':
            return 'Выполняется';
            break;
            case '2':
            return 'Выполнено';
            break;
            case '3':
            return 'Провалено';
            break;
        }
    }


javascript:
<script>
    $(document).ready(function(){
        //задача выполнена
        $(".change-status-complete").click(function () {
            var id = $(this).attr("data-id");
            $.post("/admin/task/setCompleted/"+id, {}, function (data) {
                $("#status-task").html(data);
            });
            return false;
        });

        //задача провалена
        $(".change-status-failed").click(function () {
            var id = $(this).attr("data-id");
            $.post("/admin/task/setFailed/"+id, {}, function (data) {
                $("#status-task").html(data);
            });
            return false;
        });
    });
</script>

При нажатии на ссылки текст статуса пропадает и span делается пустым, а нужно, чтобы
менялся текст статуса без перезагрузки. Возможно ли так сделать в моем случае?Если да,то куда дальше копать?
Заранее спасибо.
  • Вопрос задан
  • 254 просмотра
Пригласить эксперта
Ответы на вопрос 1
@LiguidCool
Если уж юзаете JQ, то пользуйтесь $.ajax().
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы