![](/img/trans.png)
[英]How to allow only one JavaScript 'click' method to be clicked at a time while animation is executing?
[英]Allow only one button to be clicked at a time
我正在创建一个具有不同按钮选项的表单。 我希望只允许用户选择一个按钮。 基本上,我在表单中有6个按钮,当您单击它时,按钮的颜色变为绿色,并表示已选中。 现在,我可以选择所有按钮选项,如果要单击另一个按钮,则希望将其放到单击某个按钮的位置,然后我选择的第一个按钮将变为“未选中”
<button type="button" class="button-school" value="hidden-springs">
<h2>Hidden Springs</h2>
<span class="select-active">SELECT</span>
</button>
我只发布了一个按钮,但它们都是相同的,只是值和h2值不同。 我试图在网上找到可以帮助我的东西,但实际上我只看到单选按钮的东西,这是我自己制作的。
这是我到目前为止的内容:
<script>
jQuery('.button-school').click(function() {
jQuery(this).toggleClass('active');
if (jQuery(this).hasClass('active')) {
jQuery(this).html(jQuery(this).html().replace('SELECT', 'SELECTED'));
} else {
jQuery(this).html(jQuery(this).html().replace('SELECTED', 'SELECT'));
}
});
</script>
我看到有关“如果被单击”的信息,我可以做一些只能有一个“活动”的事情吗?
jQuery(function($) {
$('.button-school').click(function() {
$('.button-school').not(this).removeClass('active').html(function() {
return $(this).html().replace('SELECTED', 'SELECT');
});
$(this).addClass('active').html(jQuery(this).html().replace('SELECT', 'SELECTED'));
});
});
JSFiddle: https ://jsfiddle.net/TrueBlueAussie/v2ddpuw6/2/
jQuery(function(){})
是DOM ready处理程序的快捷方式,该处理程序还将自身作为第一个参数传递。 这样,您可以避免加载jQuery
并安全地使用$
。 html()
与函数一起使用,则返回值将用于替换现有的html
。 not()
从所有匹配项中排除当前选择,以过滤除单击按钮之外的所有内容。 您可以同时使用按钮和单选按钮
HTML:
<input type="radio" hidden name="_groupname" value="what-gets-submitted" />
<button type="button" class="cstm-rad" onclick="this.previousElementSibling.checked=true;">Custom Radio Button</button>
CSS选择按钮的样式,该样式取决于按钮前面是否带有:checked
项:
button.cstm-rad{ /*inactive style*/ }
:checked + button.cstm-rad{ /*active style*/ }
编辑说明:这几乎与我最初提交的解决方案完全相同,只是清除了多余的文本,更多的CSS并给出了不可怕的命名约定。
我已经创建了一种非常粗略的实现方式,但是基本上您可以做到这一点,因此,当单击一个提交按钮时,它将隐藏所有提交按钮,因此用户无法再单击它们。
jsFiddle: https ://jsfiddle.net/v2ddpuw6/
HTML
<input type="button" value="Submit1" class="Submit"/>
<input type="button" value="Submit2" class="Submit"/>
<input type="button" value="Submit3" class="Submit"/>
<input type="button" value="Submit4" class="Submit"/>
<input type="button" value="Submit5" class="Submit"/>
jQuery的
$(function()
{
$('.Submit').on('click', function()
{
$('.Submit').hide();
});
});
我已经检查了您的代码并得到了问题。 这是您正在寻找的工作示例。
请检查这里的代码。
jQuery('.button-school').click(function() { if (!jQuery(this).hasClass('active')) { jQuery('.button-school').removeClass('active'); jQuery('.button-school').html(jQuery('.button-school').html().replace('SELECTED', 'SELECT')); jQuery(this).toggleClass('active'); jQuery(this).html(jQuery(this).html().replace('SELECT', 'SELECTED')); } else { jQuery(this).toggleClass('active'); jQuery(this).html(jQuery(this).html().replace('SELECTED', 'SELECT')); } });
.active{ background:green; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <button type="button" class="button-school" value="hidden-springs"> <h2>Hidden Springs</h2> <span class="select-active">SELECT</span> </button> <button type="button" class="button-school" value="hidden-springs"> <h2>Hidden Springs</h2> <span class="select-active">SELECT</span> </button> <button type="button" class="button-school" value="hidden-springs"> <h2>Hidden Springs</h2> <span class="select-active">SELECT</span> </button>
请享用 !!!!!!!!!!!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.