チェックボックスを非表示にし、その代わりにスタイル付きチェックボックスの画像を配置するには、このスクリプトが必要です。正しく非表示になり、デフォルトの画像が表示されますが、クリックするとチェックボックスがオンまたはオフに更新されたり、画像が更新されたりすることはありません。私はそれが私が見落としている単純なことだと思います、私はまだjQueryに不慣れです。
スクリプトは次のとおりです。
$(".check").each(function() {
$(this).hide();
var $image = $("<img src='assets/images/layout/checkbox/unchecked.png' />").insertAfter(this);
$image.click(function() {
var $checkbox = $(this).prev(".check");
$checkbox.prop('checked', !$checkbox.prop('checked'));
if($checkbox.prop("checked")) {
$image.attr("src", "assets/images/layout/checkbox/checked.png");
} else {
$image.attr("src", "assets/images/layout/checkbox/unchecked.png");
}
})
});
HTMLは次のとおりです。
<input type="checkbox" class="check" />
編集:また、これはチェックボックスのスタイルを設定するための一般的に最良のアプローチですか?これよりずっと簡単なものは見つからないようですので、何か提案をいただければ幸いです。