因此,此代码有效:
<script>
$(document).ready(function(){
var btn = $('#submit_send_order');
btn.attr({disabled: 'disabled'});
var chk = $('.end-box');
chk.click(function(){
if ($(this).attr('checked'))
btn.removeAttr('disabled');
else
btn.attr({disabled:'disabled'});
});
});
</script>
但是我无法获得任何有效的click,onclick或事件处理程序版本,以免在else条件期间导致弹出消息。除非用户选中一个框,否则他们将无法在我的网站上发送订单。现在,他们单击该按钮,直到选中该复选框,然后什么都没有发生。但我也想显示一个警报,例如:
$(document).ready(function(){
$('#submit_send_order').click(function(){
alert("You cannot proceed until you check the end box");
});
});
最佳答案
禁用元素后,不会触发onclick事件。另外,请注意哪种方法是正确的方法以查看该复选框是否已选中:
$(document).ready(function(){
var btn = $('#submit_send_order');
btn.attr({disabled: 'disabled'});
var chk = $('.end-box');
chk.on('click', function(){
if ($(this).is(':checked'))
btn.removeAttr('disabled');
else
btn.attr({disabled:'disabled'});
});
btn.on('click', function(){
alert("You cannot proceed until you check the end box");
});
});
如果您真的想这样做,我将为此提供一个“解决方案”。您可以在这个小提琴中检查它:
http://jsfiddle.net/2f1wsb8c/3/
它在按钮上放置了与按钮大小相同的元素,以在按钮被禁用时捕获点击。