Преображаем элементы html: чекбоксы и радио

Давайте оформим стандартные html элементы checkbox и radio с помощью jQuery и CSS.

Разметка HTML

Начнем с основы html:

<html>
    <head></head>
    <body>
        <input id="CheckBox1" type="checkbox" class="CheckBoxClass">
        <label id="Label1" for="CheckBox1" class="CheckBoxLabelClass">Чекбокс 1</label>
    </body>
</html>

Теперь скроем чекбокс с помощью CSS:

<style>
    .CheckBoxClass{
        display: none;
    }
</style>

Теперь чекбокс скрыт. Если вы кликнете на лейбл (Чекбокс 1), чекбокс будет по прежнему включаться/отключаться, но этого мы не увидим. Теперь, если чекбокс установлен, то нам нужно изменить стиль лейбла, чтоб мы знали, что он отмечен, выбран. Добавим CSS для выбранного label класса. И скрипт для переключения класса.

.LabelSelected{  
    border: 1px dotted black;  
}  

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>  
<script type="text/javascript">  
$(document).ready(function(){  
    $(".CheckBoxClass").change(function(){  
        if($(this).is(":checked")){  
            $(this).next("label").addClass("LabelSelected");  
        }else{  
            $(this).next("label").removeClass("LabelSelected");  
        }  
    });  
});  
</script>  

И тоже самое проделать с radio элементами:

$(".RadioClass").change(function(){  
    if($(this).is(":checked")){  
        $(".RadioSelected:not(:checked)").removeClass("RadioSelected");  
        $(this).next("label").addClass("RadioSelected");  
    }  
});  

Смотрите исходный код демки.
СКАЧАТЬСкачек: 348
6,87 Kb
Кто скачал?

ДЕМОПосмотреть
пример