【问题标题】:Custom radio selector not functioning自定义收音机选择器不起作用
【发布时间】:2023-02-03 05:56:00
【问题描述】:

我为我的网站创建了这个自定义单选选择器,第一个单选选择器工作正常,但第二个字段没有选择。我是否需要创建另一个类或让每个输入命名为不同的 ID,以便它们不会相互冲突?我正在尝试为客户创建多个选项以选择一个选项。

input[type=radio] {
  position: absolute;
  visibility: hidden;
  display: none;
}

label {
  display: inline-block;
  cursor: pointer;
  font-weight: bold;
  padding: 5px 20px;
}

input[type=radio]:checked+label {
  color: #fff;
  background: #444;
  border-radius: 5px;
}

label+input[type=radio]+label {
  border-left: solid 3px #444;
}

.radio-group {
  display: inline-block;
  overflow: hidden;
}
<div class="radio-group">
  <input type="radio" id="lessthan6months" name="timeline"><label for="lessthan6months">6 mo</label>
  <input type="radio" id="6to12months" name="timeline"><label for="6to12months">6-12 mo</label>
  <input type="radio" id="12to24months" name="timeline"><label for="12to24months">12-24 mo</label>
  <div class="line"></div>
</div>

<div class="radio-group">
  <input type="radio" id="tradein_y" name="tradein" value="Yes"><label for="trade in yes">Yes</label>
  <input type="radio" id="tradein_n" name="tradein" value="No"><label for="trade in no">No</label>
  <div class="line"></div>
</div>

【问题讨论】:

    标签: html css radio-button selector


    【解决方案1】:

    label 内容的 for 必须与 inputid 匹配。

    这将起作用,如下所示:

    input[type=radio] {
      position: absolute;
      visibility: hidden;
      display: none;
    }
    
    label {
      display: inline-block;
      cursor: pointer;
      font-weight: bold;
      padding: 5px 20px;
    }
    
    input[type=radio]:checked+label {
      color: #fff;
      background: #444;
      border-radius: 5px;
    }
    
    label+input[type=radio]+label {
      border-left: solid 3px #444;
    }
    
    .radio-group {
      display: inline-block;
      overflow: hidden;
    }
    <div class="radio-group">
      <input type="radio" id="lessthan6months" name="timeline"><label for="lessthan6months">6 mo</label>
      <input type="radio" id="6to12months" name="timeline"><label for="6to12months">6-12 mo</label>
      <input type="radio" id="12to24months" name="timeline"><label for="12to24months">12-24 mo</label>
      <div class="line"></div>
    </div>
    
    <div class="radio-group">
      <input type="radio" id="tradein_y" name="tradein" value="Yes"><label for="tradein_y">Yes</label>
      <input type="radio" id="tradein_n" name="tradein" value="No"><label for="tradein_n">No</label>
      <div class="line"></div>
    </div>

    【讨论】:

    • 哇,这就是我所缺少的,谢谢你看看这个
    • 别客气。 ;-) 大多数时候最明显的是查看代码的工作部分并将其与不工作的部分进行比较。
    猜你喜欢
    • 2016-03-10
    • 2011-11-07
    • 1970-01-01
    • 2011-05-21
    • 1970-01-01
    • 2016-05-22
    • 1970-01-01
    • 2013-07-09
    • 2021-05-27
    相关资源
    最近更新 更多