单击时打开不同的 div 的复选框
Checkbox opening a different div when clicked
我有两个复选框,单击它们时我想显示另外 3 个复选框。我通过将 div 隐藏在 HTML 中,然后在单击时使用 css 显示 div 来完成此操作(附代码)。
但出于某种原因,每当我单击第一个复选框 (snapshot_checkbox
) 时,第二个复选框和这个复选框的子选项复选框都会打开(第二个复选框是 tmd_checkbox
。我该如何防止这种情况?我希望他们都只打开各自的子选项,而不是彼此。我希望这是有道理的。
ul input:checked~#snapshot_suboptions {
display: inline;
}
ul input:checked~#tmd_suboptions {
display: inline;
}
<div class="selectproduct">
<h1>3. Select Product</h1>
<ul>
<li>
<input type="checkbox" class="product" name="snapshot" value="0.09" id="snapshot_checkbox" onclick="SnapshotFunction()">Snapshot (Targetoo)<br>
<div id="snapshot_suboptions" class="hidden">
<ul>
<li><input type="checkbox" name="banner" value="0.08" id="snapshot_banner_checkbox">Banner<br></li>
<li><input type="checkbox" name="video" value="0.08" id="snapshot_video_checkbox">Video<br></li>
<li><input type="checkbox" name="richmedia" value="0.08" id="snapshot_richmedia_checkbox">Rich Media<br></li>
</ul>
</div>
<input type="checkbox" class="product" name="targetedmobiledisplay" value="0.08" id="tmd_checkbox"> Targeted Mobile Display<br>
<div id="tmd_suboptions" class="hidden">
<ul>
<li><input type="checkbox" name="banner" value="0.08" id="tmd_banner_checkbox">Banner<br></li>
<li><input type="checkbox" name="video" value="0.08" id="tmd_video_checkbox">Video<br></li>
<li><input type="checkbox" name="richmedia" value="0.08" id="tmd_richmedia_checkbox">Rich Media<br></li>
<br>
</ul>
</div>
<input type="checkbox" class="product" name="push" id="push_checkbox" value="0.07">Push (ZeroPark)<br>
<input type="checkbox" class="product" name="behaviouralpush" id="behaviouralpush_checkbox" value="0.07">Behavioural Push (Airpush)<br>
<input type="checkbox" class="product" name="mobileoverlay" id="mobileoverlay_checkbox" value="0.06">Mobile Overlay<br>
<input type="checkbox" class="product" name="landingpage" value="0.08">Landing Page<br>
<input type="checkbox" class="product" name="video" value="0.07" id="video_checkbox">Video<br>
<p id="video_text" style="display:none">Video will be sold on a CPCV (Cost per Completed View) basis, NOT CPC. This is the industry standard for video advertising.</p>
</li>
</ul>
</div>
您可能想要 select 输入的 ID:
#snapshot_checkbox:checked~#snapshot_suboptions {
display: inline;
}
#tmd_checkbox:checked~#tmd_suboptions {
display: inline;
}
您需要在 CSS 中指定具体的输入 ID。请尝试以下
ul input#snapshot_checkbox:checked~#snapshot_suboptions {
display: inline;
}
ul input#tmd_checkbox:checked~#tmd_suboptions {
display: inline;
}
我有两个复选框,单击它们时我想显示另外 3 个复选框。我通过将 div 隐藏在 HTML 中,然后在单击时使用 css 显示 div 来完成此操作(附代码)。
但出于某种原因,每当我单击第一个复选框 (snapshot_checkbox
) 时,第二个复选框和这个复选框的子选项复选框都会打开(第二个复选框是 tmd_checkbox
。我该如何防止这种情况?我希望他们都只打开各自的子选项,而不是彼此。我希望这是有道理的。
ul input:checked~#snapshot_suboptions {
display: inline;
}
ul input:checked~#tmd_suboptions {
display: inline;
}
<div class="selectproduct">
<h1>3. Select Product</h1>
<ul>
<li>
<input type="checkbox" class="product" name="snapshot" value="0.09" id="snapshot_checkbox" onclick="SnapshotFunction()">Snapshot (Targetoo)<br>
<div id="snapshot_suboptions" class="hidden">
<ul>
<li><input type="checkbox" name="banner" value="0.08" id="snapshot_banner_checkbox">Banner<br></li>
<li><input type="checkbox" name="video" value="0.08" id="snapshot_video_checkbox">Video<br></li>
<li><input type="checkbox" name="richmedia" value="0.08" id="snapshot_richmedia_checkbox">Rich Media<br></li>
</ul>
</div>
<input type="checkbox" class="product" name="targetedmobiledisplay" value="0.08" id="tmd_checkbox"> Targeted Mobile Display<br>
<div id="tmd_suboptions" class="hidden">
<ul>
<li><input type="checkbox" name="banner" value="0.08" id="tmd_banner_checkbox">Banner<br></li>
<li><input type="checkbox" name="video" value="0.08" id="tmd_video_checkbox">Video<br></li>
<li><input type="checkbox" name="richmedia" value="0.08" id="tmd_richmedia_checkbox">Rich Media<br></li>
<br>
</ul>
</div>
<input type="checkbox" class="product" name="push" id="push_checkbox" value="0.07">Push (ZeroPark)<br>
<input type="checkbox" class="product" name="behaviouralpush" id="behaviouralpush_checkbox" value="0.07">Behavioural Push (Airpush)<br>
<input type="checkbox" class="product" name="mobileoverlay" id="mobileoverlay_checkbox" value="0.06">Mobile Overlay<br>
<input type="checkbox" class="product" name="landingpage" value="0.08">Landing Page<br>
<input type="checkbox" class="product" name="video" value="0.07" id="video_checkbox">Video<br>
<p id="video_text" style="display:none">Video will be sold on a CPCV (Cost per Completed View) basis, NOT CPC. This is the industry standard for video advertising.</p>
</li>
</ul>
</div>
您可能想要 select 输入的 ID:
#snapshot_checkbox:checked~#snapshot_suboptions {
display: inline;
}
#tmd_checkbox:checked~#tmd_suboptions {
display: inline;
}
您需要在 CSS 中指定具体的输入 ID。请尝试以下
ul input#snapshot_checkbox:checked~#snapshot_suboptions {
display: inline;
}
ul input#tmd_checkbox:checked~#tmd_suboptions {
display: inline;
}