复选框启用/禁用提交仅一次,jquery

发布于 2024-10-08 18:01:15 字数 861 浏览 2 评论 0原文

我希望选中/取消选中复选框并启用/禁用提交按钮。 JavaScript 触发,不显示错误,但提交输入不会切换多次。

JS:

$('#readTerms').change(function() {
    var buttonsChecked = $('#readTerms:checked');
    if (buttonsChecked.length) 
    {
        $('#submitBusiness').removeAttr('disabled');
    } 
    else 
    {
        $('#submitBusiness').attr('disabled', 'disabled');
    }
});

HTML:

<input type="checkbox" id="readTerms" name="agree"> <label for="agree">By checking the box you agree to the <a href="/terms" target="_blank">Terms &amp; Conditions</a>.</label>

<input id="submitBusiness" class="btn positive iconCheck right" type="submit" name="create" value="Submit" disabled="disabled" />

提交按钮开始禁用。单击该复选框即可启用,再次单击该复选框则什么也没有。 if/else 语句工作正常。代码触发,它在 firebug 中触发断点等等。

我做错了什么?

I expect to check/uncheck a checkbox and have it enable/disable a submit button. Javascript fires, doesn't show errors, but the submit input just will not toggle more than once.

JS:

$('#readTerms').change(function() {
    var buttonsChecked = $('#readTerms:checked');
    if (buttonsChecked.length) 
    {
        $('#submitBusiness').removeAttr('disabled');
    } 
    else 
    {
        $('#submitBusiness').attr('disabled', 'disabled');
    }
});

HTML:

<input type="checkbox" id="readTerms" name="agree"> <label for="agree">By checking the box you agree to the <a href="/terms" target="_blank">Terms & Conditions</a>.</label>

<input id="submitBusiness" class="btn positive iconCheck right" type="submit" name="create" value="Submit" disabled="disabled" />

Submit button starts disabled. Click the checkbox and it enables, click the checkbox again and nothing. The if/else statement works fine. The code fires, it trips breakpoints in firebug, etc. etc. etc.

What am I doing wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

没有心的人 2024-10-15 18:01:16

我会尝试这样的事情:

$('#readTerms').click(function() {
    var buttonsChecked = this.checked;
    if (buttonsChecked == true){
        $('#submitBusiness').removeAttr('disabled');
    }else{
        $('#submitBusiness').attr('disabled', 'disabled');
    }
});

I would try something like this instead:

$('#readTerms').click(function() {
    var buttonsChecked = this.checked;
    if (buttonsChecked == true){
        $('#submitBusiness').removeAttr('disabled');
    }else{
        $('#submitBusiness').attr('disabled', 'disabled');
    }
});
贱贱哒 2024-10-15 18:01:16

尝试这样的事情:

$('#readTerms').change( function() {
  $('#submitBusiness').attr('disabled', !this.checked);
});

示例: http://jsfiddle.net/redler/TETg6/

Try something like this:

$('#readTerms').change( function() {
  $('#submitBusiness').attr('disabled', !this.checked);
});

Example: http://jsfiddle.net/redler/TETg6/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文