【问题标题】:Checked on radio buttons is only working once检查单选按钮只工作一次
【发布时间】:2015-02-02 22:28:14
【问题描述】:

我在 wordpress 后循环中执行以下单选按钮代码:

<input id="<?php the_title(); ?>" type="radio" name="phoneSelect" value="test">
                 <label for="<?php the_title(); ?>">Select</label>

每个生成的单选按钮都有一个唯一的 ID,它也为 =“”分配一个唯一的标签。当我执行以下样式时,选中的元素仅适用于一个单选按钮。当我选择另一个单选按钮时,第一个按钮会更改样式,但下一个单选按钮不会应用 css 设置

input[type=radio] {
    display:none;
  }

  input[type=radio] + label {
    display:inline-block;
    margin:-2px;
    padding: 4px 12px;
    margin-bottom: 0;
    font-size: 14px;
    line-height: 20px;
    color: #333;
    text-align: center;
    text-shadow: 0 1px 1px rgba(255,255,255,0.75);
    vertical-align: middle;
    cursor: pointer;
    background-color: #f5f5f5;
    background-image: -moz-linear-gradient(top,#fff,#e6e6e6);
    background-image: -webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));
    background-image: -webkit-linear-gradient(top,#fff,#e6e6e6);
    background-image: -o-linear-gradient(top,#fff,#e6e6e6);
    background-image: linear-gradient(to bottom,#fff,#e6e6e6);
    background-repeat: repeat-x;
    border: 1px solid #ccc;
    border-color: #e6e6e6 #e6e6e6 #bfbfbf;
    border-color: rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);
    border-bottom-color: #b3b3b3;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
    -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);
    -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);
  }

  input[type=radio]:checked + label {
       background-image: none;
    outline: 0;
    -webkit-box-shadow: inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);
    -moz-box-shadow: inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);
      background-color:#e0e0e0;
  }

下面的 JSfiddle 可以复制问题(显然是因为 php 没有被执行)http://jsfiddle.net/83uc5xy5/

【问题讨论】:

  • 它对我有用...jsFiddle.
  • @leftside 当我为每个手动设置不同的 id 时,它工作正常。 id 被注入 the_title();的 wordpress 并且应该仍然是唯一的
  • ID 无关紧要。再次检查 jsFiddle - 现在没有 ID。
  • @leftside,好的,所以我发现以下代码是导致问题的原因:input[type=radio] { visibility:none; }
  • @leftside 你可以检查这个小提琴复制问题:jsfiddle.net/jeqy9s4m

标签: html css radio-button


【解决方案1】:

这是一个工作示例:

<div><input type="radio" name ="test" id="test"/>
    dasdas
</div>
<input type="radio" name ="test" id="test"/>

CSS:

input[type="radio"]:checked{
    margin-top:50px;
}

它将选中的复选框从顶部移动 50px。

【讨论】:

  • 当我为每个手动设置不同的 id 时,它工作正常。 id 被注入 the_title();的 wordpress 并且应该仍然是唯一的
  • 这不是在任何将样式应用于收音机类型的输入的地方使用 id。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-04-23
  • 1970-01-01
  • 2014-07-23
  • 1970-01-01
  • 2017-06-28
  • 1970-01-01
  • 2011-07-22
相关资源
最近更新 更多