【问题标题】:How can I use jQuery to make a group of radiobuttons inactive?如何使用 jQuery 使一组单选按钮处于非活动状态?
【发布时间】:2010-01-04 21:50:33
【问题描述】:

我希望有一组单选按钮在单击复选框之前处于非活动状态。

换句话说,当用户选中一个复选框时,它将允许用户使用单选按钮。如果用户取消选中一个复选框,它将使单选按钮处于非活动状态,因此用户无法再选择它们。

是否有使用 jQuery 的解决方案可以用来实现此目的?

【问题讨论】:

    标签: javascript jquery checkbox radio-button


    【解决方案1】:

    假设单选按钮具有相同的名称,那么您可以为此使用attribute selector

    $('#checkboxid').click(function() {
        $('input[name="radiobuttonname"]').attr('disabled', !this.checked);
    });
    

    这将在复选框被选中时启用单选按钮,在未选中时禁用。

    【讨论】:

    • 太完美了!正是我想要的。谢谢! !this.checked 是做什么的?我找不到任何文档。另外,如何使用切换开关将带有单选按钮的任何文本变灰?
    • this 指的是触发click 事件的元素,因此是复选框本身。如果选中该复选框,this.checked 将返回布尔值 true。另见wwd.w3schools.com/jsref/dom_obj_checkbox.asp! 只是将布尔值反转,因此例如 true 变为 false。您可以在 jQuery 中借助 CSS 和 toggleClass() 设置文本样式。另请参阅docs.jquery.com/Attributes/toggleClass 假设这些文本由<label> 呈现,您可以通过循环单选按钮并使用$('label[for="' + this.id + '"]') 来获取它们。
    • 再次感谢您对 ToggleClass 的帮助。工作得很好!
    猜你喜欢
    • 2014-11-07
    • 1970-01-01
    • 2014-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多