我正在做一个项目,其中一个按钮需要被禁用,直到一个超链接被点击,一个复选框被选中。我现在已经使用jQuery关闭了复选框部分:
$('#tc-checkbox').change(function(){
if($(this).is(":checked")) {
$('#tc-btn').removeClass('tc-disable');
} else {
$('#tc-btn').addClass('tc-disable');
}
});
但我也需要设置它,使类的tc-disable仍然在按钮上,直到一个锚标记被点击,以及.我从来没有真正做到这一点之前,一个链接需要被点击之前删除一个类,找不到我正在寻找的,因为我在谷歌上寻找答案.
5条答案
按热度按时间qf9go6mv1#
希望下面的代码能有所帮助。我还添加了控制台输出,这样你就可以跟踪值。另一个选择是使用link元素上的自定义属性而不是javascript变量来跟踪链接是否被点击。
jhiyze9q2#
如果单击超链接时页面正在刷新或将您带到其他页面,则您需要查看
sessionStorage
。单击超链接时,您需要设置sessionStorage
变量;加载页面时,您需要检查该变量是否已填充。如果变量已填充,请启用该按钮。设置变量。
获取变量
如果需要重新禁用该按钮,可以清除会话存储并重新应用禁用的类。
您可以了解有关会话存储here的更多信息。
如果页面没有刷新,你可以在点击链接时设置一个属性。
然后,当复选框被选中时,您可以在函数中选中此选项。
这些只是我能想到的一些解决方案。希望这对我有帮助。
b5lpy0ml3#
也许这对你更好。首先你在
anchor
元素上做一个.on('click'
事件监听器,然后,如果选中checkbox
,则enable
为button
。我将else
语句添加到disable
按钮,如果用户单击link
,则checkbox
未设置为示例。在此示例中,您不需要"我不需要上课。但是,如果需要保留这些类,则可以将
$('#tc-btn').prop('disabled', false);
替换为$('#tc-btn').addClass()
或.removeClass()
laximzn54#
这里有一个更简单的解决方案,如果他们取消勾选"我接受"复选框,它会处理按钮的状态。这很容易实现。我只是用Bootstrap来美化这个例子。
oyxsuwqo5#
使用Javascript的一行式解决方案可以是:
根据需要将类型“submit”更改为“button”或“checkbox”。