如何在jquery上更改状态后更改按钮的颜色

rjee0c15  于 2022-12-18  发布在  jQuery
关注(0)|答案(2)|浏览(141)


我面临着一个小问题,按钮的状态改变颜色没有改变保持不变,但当重新加载按钮的页面颜色变化。我改变状态从活动到不活动的文本变化,并出现不活动,但颜色保持不变,直到我刷新页面。

这是我的刀片式服务器代码,用于显示活动或非活动

@if ($users->verified == 1)
                 <p class="UpdateSectionStatuss btn btn-success me-3 h-50 mt-5 " id="user-{{ $users->id }}"
                            user_id="{{ $users->id }}" href="javascript:void(0)">Verified</p>
                    @else
                        <p class="UpdateSectionStatuss btn btn-danger me-3 h-50 mt-5 " id="user-{{ $users->id }}"
                            user_id="{{ $users->id }}" href="javascript:void(0)">Un-Verify</p>
                    @endif

这是我的脚本代码

$(".UpdateSectionStatuss").click(function() {
    var verified = $(this).text();
    var user_id = $(this).attr("user_id");
    // console.log(verified);
    $.ajax({
        type: 'POST',
        url: "{{ URL::to('User_profile_status') }}",
        data: {
            verified: verified,
            user_id: user_id
        },
        success: function(res) {
            if (res['Verified'] == 0) {
                $("#user-" + user_id).html(
                    "<p class='UpdateSectionStatuss' href='javascript:void(0)'> Un-Verify </p>"
                )
            } else if (res['Verified'] == 1) {
                $("#user-" + user_id).html(
                    "<p class='UpdateSectionStatuss' href='javascript:void(0)'> Verified </p>"
                )
            }
        },
        error: function() {
            alert("Error");
        }

    });

});

我想输出当点击状态改变按钮的颜色也改变。就是这样。

ojsjcaue

ojsjcaue1#

在成功函数中尝试此操作

success: function(res) {
    if (res['Verified'] == 0) {
        $("#user-" + user_id).html(
            "<p> Un-Verify </p>"
        )
        $("#user-" + user_id).removeClass('btn-success');
        $("#user-" + user_id).addClass('btn-danger');
    } else if (res['Verified'] == 1) {
        $("#user-" + user_id).html(
            "<p> Verified </p>"
        )
        $("#user-" + user_id).removeClass('btn-danger');
        $("#user-" + user_id).addClass('btn-success');
    }
}
xfyts7mz

xfyts7mz2#

是的,你所做的是好的,但是它在某种程度上是静态的。使用PHP/Blade,你只转储***IF/ELSE代码块***一次。如果不刷新页面,你就看不到另一个UI。你需要使用Jquery或Javascript来操作dom。然后动态地添加或删除基于它的类,使它按照你想要的方式运行。

.getByElementId('someId')

然后接着,

element.classList.add("btn-danger");

可以帮你实现这个目的。

相关问题