【发布时间】:2014-03-23 11:18:44
【问题描述】:
我有这个 CSS 用于单选按钮。
input[type=radio]:checked + .selectionName{
border:4px solid #fcaf17;
}
在我看来,这段代码效果很好:
<label class="option" for="option2" class="col-xs-12 col-sm-12 col-md-12">
<input id="option2" type="radio" name="option" value="Loved Quality of Purchase" />
<div class="selectionName"></div>
</label>
<label class="option" for="option3">
<input id="option3" type="radio" name="option" value="Someone solved my Problem" />
<div class="selectionName"></div>
</label>
<label class="option" for="option4">
<input id="option4" type="radio" name="option" value="Other" />
<div class="selectionName"></div>
</label>
但是当我将视图代码放入循环时它停止工作:
<?php foreach ($options as $option) : ?>
<label class="option" for="option1">
<input id="option1" type="radio" name="option" value=<?php echo $option['title'] ?> />
<div class="selectionName"><?php echo $option['title']; ?></div>
</label>
<?php endforeach; ?>
在循环中,只有第一个单选按钮选项是可点击的并显示边框。
单选按钮的更多 css 代码:
.option > input[type=radio]{
display:none;
}
input[type=radio]{
cursor:pointer;
border:4px solid transparent;
width: 20px;
height: 20px;
border: 1px solid black;
display: block;
}
input[type=radio]:checked + .selectionName{
border:4px solid #fcaf17;
}
如何解决这个问题以在循环中工作
【问题讨论】:
-
foreach 循环生成什么 html 代码?
-
foreach 代码打印单选按钮列表。因此,对于循环中的每个项目,都会为该项目显示一个单选按钮
-
ID 必须是唯一的。
-
看起来你的 foreach 循环只生成带有
label id=1的按钮,但我认为这只是一个问题,如果你想用按钮而不是样式做一些事情。 -
请展示PHP代码输出的HTML代码。
标签: php html css loops radio-button