php - 复选框 css 仅适用于第一个循环项

标签 php html css checkbox

<分区>

我有一个问题。我创建了带有字体超棒的心形图标的复选框,用于在循环中保存最喜欢的元素。但只有第一个复选框有效,其他复选框无效。当我单击第二个或其他循环复选框时,其选中的第一个循环复选框、第二个循环和其他循环复选框不起作用。为什么会这样? 谢谢!

HTML:

$query = $db->query("SELECT * FROM theme_upload WHERE approve_status != '0' ORDER BY id DESC LIMIT $limit ");
if($query->num_rows > 0){ ?>
while($row = $query->fetch_assoc()){ 
  $postID = $row['id'];
  //var_dump($row);
?>
<!-- Template #1 -->


<div class="col-sm-6 col-md-4">
  <div class="single-template">
    <h3>
      <a href="http://hibootstrap.com/onepage/martian/" class="theme-link" target="_blank">
        <?php echo $row["theme_name"]; ?>
      </a>
    </h3>
    <div class="fav">
      <input id="box1" type="checkbox" />
      <label for="box1">Checkbox 1</label>
    </div>
  </div>
</div>
</div>
</div>
<!-- /.Template #1 -->
<?php } ?>
<?php echo $pagination->createLinks(); ?>
<?php } ?>

CSS:

.fav input[type=checkbox] { display:none; } 
.fav input[type=checkbox] + label:before {
  font-family: FontAwesome;
  display: inline-block;
}

.fav input[type=checkbox] + label:before { content: "\f08a"; }
.fav input[type=checkbox] + label:before { letter-spacing: 10px; } 

.fav input[type=checkbox]:checked + label:before { content: "\f004"; } 
.fav input[type=checkbox]:checked + label:before { letter-spacing: 10px; } 

最佳答案

idfor 创建一个计数器,因为 ID 必须是唯一的

$ctr = 0;

<input id="box'+$ctr+'" type="checkbox" />
<label for="box'+$ctr+'">Checkbox 1</label>

$ctr++;

关于php - 复选框 css 仅适用于第一个循环项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44623185/

上一篇:html - 仅将媒体查询添加到特定设备 ipad pro

下一篇:css - 在父级中对齐子 div 的右/底部

相关文章:

html - 不能垂直对齐两个div

Javascript/Jquery 在窗口中找到最上面的段落

javascript - "Stop"css transition 中点击

css - hpricot:查找没有 B 或 C 类型祖先的 A 类型元素

php - 从 WP Editor TinyMCE 中删除特定按钮

javascript - 从php文件在谷歌地图中刷新经纬度

php - URL 正则表达式匹配器(想法)

javascript - 如何将传递的值从 PHP 连接到 AJAX?

javascript - jQuery 根据标题修改元素的样式

javascript - Google+ Plus 中的按钮。 .js 函数在哪里调用?