我試圖創建一個複選框標籤,其中複選框本身被隱藏,但標籤不會因此單擊標籤,即使未顯示覆選框也會勾選。複選框標籤不勾選
我想要發生的是當它被選中時,標籤保持紅色,並且爲此我分配了一個用於複選框激活的類,但它不起作用。它可以在懸停時正常工作,而不會處於活動狀態。當我點擊它時,複選框會檢查,但標籤不會讀取活動類。
任何想法?
我用下面的HTML:
<div class="gl_delete">
<div class="deleteCB">
<input id="uImgId47" type="checkbox" name="uImgId[]" value="47"></input>
<input type="hidden" name="filename[]" value="6_246f0548d62b9b9cc19210389ef09472.jpg"></input>
<label onclick="$('#delHolder').show()" for="uImgId47"> X </label>
</div>
</div>
下面CSS
.deleteCB {
width: 20px;
margin: 20px auto;
}
.deleteCB label, .deleteCB label:after {
cursor: pointer;
position: absolute;
font-weight:bold;
font-size:14px;
content: 'x';
line-height:14px;
position: absolute;
border-radius:6px;
padding-left:9px;
padding-top:3px;
color:#fff;
width: 17px;
height: 21px;
background: #ccc;
border:1px solid #ccc;
top: -1px;
right: -1px;
padding-bottom:0;
}
.deleteCB label:after {
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
filter: alpha(opacity=0);
opacity: 0;
color:#fff;
background: #cc3333;
border:1px solid #cc3333;
}
.deleteCB label:hover::after {
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";
filter: alpha(opacity=100);
opacity: 1;
}
.deleteCB input[type=checkbox]:checked + label:after {
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
filter: alpha(opacity=100);
opacity: 1;
}
/* hide checkbox */
input[type=checkbox] {
visibility: hidden;
}
請張貼印HTML沒有PHP和我們可以發現你的錯誤,你正在測試哪些瀏覽器? – abimelex
@abimelex更新的問題,謝謝 –
什麼是'#delHolder',因爲它沒有在你提供的代碼中的任何地方引用 – freefaller