。
イメージを使用しないため、スケーラビリティとカスタマイズが可能です。 CSS
$(document).ready(function() {
$('.custom-checkbox').click(function (e) {
toggleCustomCheckbox(e.target);
})
});
function toggleCustomCheckbox(el) {
var tickEl = $(el).find('.custom-tick').addBack('.custom-tick');
if (tickEl.css('visibility') === 'hidden') {
tickEl.css('visibility', 'visible')
$('.custom-checkbox').val(true)
alert('you ticked me')
} else {
tickEl.css('visibility', 'hidden')
$('.custom-checkbox').val(false)
alert('you un-ticked me')
}
}
function setCustomCheckbox(checkboxid, val) {
var tickEl = $(checkboxid).find('.custom-tick').addBack('.custom-tick');
if (val && val === true) {
tickEl.css('visibility', 'visible')
$('.custom-checkbox').val(true)
}
else {
tickEl.css('visibility', 'hidden')
$('.custom-checkbox').val(false)
}
}
:
.custom-checkbox{
border: solid 2px orange;
height: 15px;
width: 15px;
display: inline-block;
cursor: pointer;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-o-user-select: none;
user-select: none;
}
.custom-tick{
border: inherit;
display: inherit;
cursor: inherit;
visibility: hidden;
height: 8px;
width: 5px;
transform: rotate(45deg);
border-left: 0;
border-top: 0;
border-width: 2px;
margin: 0px 0px 3px 4px;
}
はここで働いている
<div>
<div id='mycheckbox' class='custom-checkbox'>
<div class='custom-tick'></div>
</div>
<span>I agree</span>
</div>
JS:HTML>true
/false
を - ユーザーが$('#id_of_custom_checkbox').val()
ことでカスタムチェックボックスの値を取得することができますフィドル:https://jsfiddle.net/JerryGoyal/xr62yara/8/
@downvoter mind telling reason b4 downvoting? – JerryGoyal
一部の人がちょっと楽しんでいる人は、Stackoverflowコミュニティでこの問題を解決できます(投票アップ) –