javascript - jquery 大神帮帮我 谢谢
本文介绍了javascript - jquery 大神帮帮我 谢谢的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
<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);
}
);*/
}
</script>
怎么做到 点击 一列开启按钮 获得当前点击列的对象 然后 把 开启两字变成 禁用尼 谢谢
解决方案
想要按原有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更好工作,不过这是另外的谈论点了。
现在功能是可以正常工作的哈。
希望对你有帮助。
这篇关于javascript - jquery 大神帮帮我 谢谢的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文