为了账号安全,请及时绑定邮箱和手机立即绑定

jquery 大神帮帮我 谢谢

jquery 大神帮帮我 谢谢

小唯快跑啊 2018-10-11 14:09:30
<td id="status">                <if condition="$v['status'] eq 1" >                    <a class="btn btn-success btn-xs" onclick="change_status(0,<{$v['user_id']}>)" href="javascript:;"><i class="fa fa-file-text fa-lg"></i> 开启</a>                    <else />                    <a class="btn btn-warning btn-xs" onclick="change_status(1,<{$v['user_id']}>)" href="javascript:;"><i class="fa fa-file-text fa-lg"></i> 禁用</a>                </if></td><script>function change_status(status,ids){                     /* $.post("__MODULE__/User/change_status",           { id: ids, sta: status },            function(msg){              alert(msg);                          }         );*/   }怎么做到 点击 一列开启按钮 获得当前点击列的对象 然后 把 开启两字变成 禁用尼 谢谢
查看完整描述

1 回答

?
达令说

TA贡献1821条经验 获得超6个赞

想要按原有HTML结构,快速修改js来实现你要的效果的话,多传个this就能获取当前按钮来做后续操作了,把各个onclick()改成:

onclick="change_status(this, 状态码, <{$v['user_id']}>)"

然后js这样写:

function change_status(e, status, ids){

    $.post("__MODULE__/User/change_status", 
        { id: ids, sta: status },        function(msg){            if (msg) { // 不知道你msg返回什么,这里当作后台成功msg的值是true
                var btn = $(e); // 当前按钮
                if (btn.hasClass('btn-sucess')) { // 要由“启用”变成“禁用” , 判断条件用状态吗status === 0也行,
                    btn.html('<i class="fa fa-file-text fa-lg"></i> 禁用'); // 改变按钮文字
                    btn.removeClass('btn-success').addClass('btn-warning'); // 改变按钮颜色
                } else { // 由“禁用”变“启用”
                    // 同理
                }
            }
        } 
    );
}

哈哈哈,不过这样做代码不够优雅,还可以优化HTML让JS更好工作,不过这是另外的谈论点了。
现在功能是可以正常工作的哈。
希望对你有帮助。


查看完整回答
反对 回复 2018-11-17
  • 1 回答
  • 0 关注
  • 518 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号