S主义

爱写啥就写啥

radio与checkbox的自定义样式

Jquery部分
$(document).ready( function () { 
     $("div").cssRadio(); 
     $("div").cssCheckBox(); 
}); 
jQuery.fn.cssRadio = function () { 
    $(":input[type=radio] + label").each( function(){ 
if ( $(this).prev()[0].checked ) 
                $(this).addClass("checked"); 
            }) 
        .hover( 
function() { $(this).addClass("over"); }, 
function() { $(this).removeClass("over"); } 
            ) 
        .click( function() { 
var contents = $(this).parent().parent(); /*多组控制 关键*/
            $(":input[type=radio] + label", contents).each( function() { 
                $(this).prev()[0].checked=false; 
                $(this).removeClass("checked");    
            }); 
            $(this).prev()[0].checked=true; 
             $(this).addClass("checked"); 
            }).prev().hide(); 
}; 
jQuery.fn.cssCheckBox = function () { 
    $(":input[type=checkbox] + label").each( function(){ 
if ( $(this).prev()[0].checked ) 
                {$(this).addClass("checked");}            
            }) 
        .hover( 
function() { $(this).addClass("over"); }, 
function() { $(this).removeClass("over"); } 
            ) 
        .toggle( function()  /*不能click,不然checked无法回到unchecked*/
            {                
                $(this).prev()[0].checked=true; 
                 $(this).addClass("checked"); 
            }, 
function() 
            { 
                $(this).prev()[0].checked=false; 
                 $(this).removeClass("checked"); 
            }).prev().hide();           
} 
CSS样式
#dx label {
padding-left: 26px;
background: url(RUnCheck.png) no-repeat;
}
#dx label.checked {
padding-left: 26px;
background: url(RCheck.png) no-repeat;
color: #008800;
}
#dx label.over {
color: #0000FF;
}
#tt label {
padding-left: 26px;
background: url(UnCheck.png) no-repeat;
}
#tt label.checked {
padding-left: 26px;
background: url(Check.png) no-repeat;
color: #008800;
}
#tt label.over {
color: #0000FF;
}
前台代码
<h3>Example</h3>
<form id="dx">
<P>第一组</p>
<div>
<p><input type="radio" name="radio1"/> <label>Option 1</label></p>
<p><input type="radio" name="radio1"/> <label>Option 2</label></p>
<p><input type="radio" name="radio1"/> <label>Option 3</label></p>
<p><input type="radio" name="radio1"/> <label>Option 4</label></p>
</div>
<P>第二组</p>
<div>
<p><input type="radio" name="radio2"/> <label>Option 1</label></p>
<p><input type="radio" name="radio2"/> <label>Option 2</label></p>
<p><input type="radio" name="radio2"/> <label>Option 3</label></p>
<p><input type="radio" name="radio2"/> <label>Option 4</label></p>
</div>
</form>
<div id="tt">
<p>第一组></p>
<div>
<p><input id="CheckBox1" type="checkbox"  name="clb1" /><label >Checkbox 1</label></p>
<p><input id="CheckBox2" type="checkbox"  name="clb1" /><label >Checkbox 2</label></p>
</div>
<p>第二组></p>
<div>
<p><input id="CheckBox3" type="checkbox"  name="clb2"/><label >Checkbox 3</label></p>
<p><input id="CheckBox4" type="checkbox" name="clb2"/><label >Checkbox 4</label></p>
</div>
</div>

Opera的blog被TG开放超好用的在线iphone图标制作

Write a comment

New comments have been disabled for this post.

June 2012
S M T W T F S
May 2012July 2012
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30