html - 多个复选框图像替换 - 仅影响第一行复选框

标签 html css image checkbox replace

我正在尝试用图像替换复选框。我隐藏了输入并使用复选框的标签显示了图像,但是当我单击任何复选框时,它只会更新第一行复选框。我做错了什么?

HTML:

<form action="">
    <div>
        <input type="checkbox" id="make-admin">
        <label for="make-admin"></label>
        <input type="checkbox" id="remove-member">
        <label for="remove-member"></label>
    </div>
    <div>
        <input type="checkbox" id="make-admin">
        <label for="make-admin"></label>
        <input type="checkbox" id="remove-member">
        <label for="remove-member"></label>
    </div>
    <div>
        <input type="checkbox" id="make-admin">
        <label for="make-admin"></label>
        <input type="checkbox" id="remove-member">
        <label for="remove-member"></label>
    </div>
</form>

CSS:

input[type="checkbox"]{
    display: none;
}
    input[type="checkbox"] + label:before{
    content: url('https://cdn1.iconfinder.com/data/icons/windows-8-metro-style/26/unchecked_checkbox.png');
}
    input[type="checkbox"]:checked + label:before{
    content: url('https://cdn1.iconfinder.com/data/icons/windows-8-metro-style/26/checked_checkbox.png');
}

fiddle : http://jsfiddle.net/D351GN3R/8jW43/

如有任何帮助,我们将不胜感激。我不知道这里发生了什么!

最佳答案

问题是您的 label 元素正在寻找您将它们绑定(bind)到的 id 并且每一行都有相同的 ID .您需要为每个复选框设置唯一的 id,并匹配每个 label 上的 for,如下所示:

<form action="">
<div>
    <input type="checkbox" id="make-admin">
    <label for="make-admin"></label>
    <input type="checkbox" id="remove-member">
    <label for="remove-member"></label>
</div>
<div>
    <input type="checkbox" id="make-admin2">
    <label for="make-admin2"></label>
    <input type="checkbox" id="remove-member2">
    <label for="remove-member2"></label>
</div>
<div>
    <input type="checkbox" id="make-admin3">
    <label for="make-admin3"></label>
    <input type="checkbox" id="remove-member3">
    <label for="remove-member3"></label>
</div>
</form>

fiddle :http://jsfiddle.net/EWpLq/

关于html - 多个复选框图像替换 - 仅影响第一行复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23157940/

相关文章:

html - 在 IE8 上弹出奇怪的符号,但在其他浏览器上没有

html - 美化 rails3 中的 ERB 文件

javascript - CSS 过渡效果仅为框阴影颜色

javascript - 填写轮盘内容

javascript - 使用 display 属性操作元素

javascript - 如何将canvas绘制的图像的url传递给json对象?

java - Java 中的 Perlin 噪声问题

python - Django-Weasyprint 图像未渲染

html - 在 less css 中,有没有办法将选定的元素 ID 或类传递到混合中?

linux - 关于 Linux/Ubuntu 中 2 个图像序列的比较