javascript - 通过使用 CSS/HTML/JavaScript 选择 A 或 C 来更改 B 的状态

标签 javascript html css

我设置了 3 种 html/CSS/JavaScript 切换(单选按钮)here .

3 个选项:A/"X"/B 其中“X”为无。

HTML

<div class="ABSelector">  
    <label class="Astate">
    A
    <input name="state" type="radio" value="A" />
    </label>

    <label class="nostate">
    x
    <input name="state" type="radio" value="" checked />
    </label>

    <label class="Bstate">
    B
    <input name="state" type="radio" value="B" />
    </label>

</div>

CSS 的相关部分

label {
    cursor: pointer;
    display: block;
    float: left;
    width:40px;
    height:40px;
    //background-color:green;
    line-height:40px;
    text-align:center;

}
label.Astate.selected {
    background-color:indianred;
    color: white;
    border-top-left-radius:10px;  
    border-bottom-left-radius:10px;
}
label.Astate.selected .nostate{
    color:grey;
}
label.Bstate.selected {
    background-color:orange;
    color: white;
    border-top-right-radius:10px;  
    border-bottom-right-radius:10px;
}
label.nostate.selected {
    background-color:white;
    color: white;
}

Javascript

window.addEvent('domready', function() {
  $$('input').set({
    events: {
      change: function(el) {
        $$('label').removeClass('selected');
        this.getParent('label').addClass('selected');
      }
    }
  });
});

JavaScript 启用/禁用 .selected

当页面最初加载时,X 是可见的。只有在第一次点击后,X 才会在点击 A 或 B 时出现。如果单击 X,它就会消失。

我想将其设置为仅在单击 A 或 B 时才显示 X。即使在页面加载时。

我是否遗漏了 CSS 方面的某些内容,或者这是否需要使用 JavaScript 来解决?

最佳答案

你可以用这个修改你的 html,将选定的类添加到你的标签中,使其实际上不可见:

<label class="nostate selected">
x
<input name="state" type="radio" value="" checked />
</label>

关于javascript - 通过使用 CSS/HTML/JavaScript 选择 A 或 C 来更改 B 的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42143235/

相关文章:

javascript - 创建一个从左到中的动画

javascript - jQuery Accordion 不起作用

javascript - 检测浏览器的缓存是否已满

javascript - 如何使用javascript获取超出其容器的元素的宽度?

javascript - 防止地址栏隐藏在移动浏览器中

html - 如何在iframe中显示doc、xls、pdf和txt文件?

jquery - 使用 jquery 隐藏/显示表格 CSS 的行

jquery - IE7下拉菜单移至顶部,jquery不显示

html - 为什么使用此 HTML 代码时右边距没有对齐?

javascript - CSS:在包含多个 <tbody> 标签的表中实现固定标题滚动?