Add An Image To A Html Type Input Check Box Or Radio
Solution 1:
I have found and worked an answer. with help from these forums http://forums.digitalpoint.com/showthread.php?t=665980
all code is below: you can copy to a single file and add your own images and it will work.
<html><scripttype="text/javascript">//global variables that can be used by ALL the function son this page.var inputs;
var imgFalse = '52 0 ROff.png';
var imgTrue = '52 0 ROn.png';
//replace the checkbox with an image and setup events to handle itfunctionreplaceChecks() {
//get all the input fields on the page
inputs = document.getElementsByTagName('input');
//cycle trough the input fieldsfor(var i=0; i<inputs.length; i++) {
//check if the input is a checkboxif(inputs[i].getAttribute('type') == 'checkbox') {
//create a new imagevar img = document.createElement('img');
//check if the checkbox is checkedif(inputs[i].checked) {
img.src = imgTrue;
} else {
img.src = imgFalse;
}
//set image ID and onclick action
img.id = 'checkImage'+i;
//set image
img.onclick = newFunction('checkClick('+i+')');
//place image in front of the checkbox
inputs[i].parentNode.insertBefore(img, inputs[i]);
//hide the checkbox
inputs[i].style.display='none';
}
}
}
//change the checkbox status and the replacement imagefunctioncheckClick(i) {
if(inputs[i].checked) {
inputs[i].checked = '';
document.getElementById('checkImage'+i).src=imgFalse;
} else {
inputs[i].checked = 'checked';
document.getElementById('checkImage'+i).src=imgTrue;
}
}
</script></html><body><inputtype="checkbox" /><scripttype="text/javascript">replaceChecks();</script></body>
Solution 2:
Take a look at this Ryan Fait - Custom checkboxes and radio buttons ... Hope it's what you're looking for ;)
Solution 3:
In checkbox if you want to change images or/and color then the optimized way is http://jsfiddle.net/nsoni/4cHSB/5/ here you can click either on "item name" or on "checkbox" and get the effect.
HTML:
<div class="had">
<divclass="ch"><inputtype="checkbox"id="sho1"name="chk1"><divclass="so"></div><labelfor="sho1">Select one</label></div><divclass="ch"><inputtype="checkbox"id="sho2"name="chk2"><divclass="so"></div><labelfor="sho2">Select two</label></div></div>
CSS:
input {
display: none;
}
input[type=checkbox]:checked+.so{
background-image:url('http://goo.gl/3tza1X');
background-repeat:no-repeat;background-color:green;
border-radius:50%;background-position: -2px -1px;
}
input[type=checkbox]:checked+.so+label{
color: red;
}
.so {
margin: 2px; float: left;height: 30px;width: 30px;
border: 3px solid #D8D8D8;background-color: #4679BD;
border-radius: 5px;
}
.show {
margin-left: 30px;
}
.had {
margin: 50px auto;width: 50%;border: 1px solid black;
height: 30px;padding:10px;
}
.ch {
float: left;margin-left:20px;width:40%
}
label {
height: 30px;width: 100%;position:relative;
display:block;margin-top: 5px;
}
Solution 4:
You cannot style checkboxes and radio buttons by pure CSS. You will need to get a JavaScript plugin (there are plenty of jQuery plugins out there) which will do this for you. Basically, it overlays another element over the default one by keeping the default element's behaviour.
Solution 5:
Here is how I did it. I'm using radio input. The input boxes are hidden and the image in each label changes when the input is selected/not selected.
Jsfiddle: http://jsfiddle.net/EhDsf/
HTML:
<divclass="options"><labeltitle="item1"><inputtype="radio"name="foo"value="0" />
Item 1
<img /></label><labeltitle="item2"><inputtype="radio"name="foo"value="1" />
Item 2
<img /></label><labeltitle="item3"><inputtype="radio"name="foo"value="2" />
Item 3
<img /></label></div>
CSS:
div.options > label > input {
visibility: hidden;
}
div.options > label {
display: block;
margin: 000 -10px;
padding: 0048px0;
height: 20px;
width: 150px;
}
div.options > label > img {
display: inline-block;
padding: 0px;
height:60px;
width:60px;
background: url(https://cdn2.iconfinder.com/data/icons/snipicons/500/thumbs-down-128.png);
background-repeat: no-repeat;
background-position:center center;
background-size:60px60px;
}
div.options > label > input:checked +img {
background: url(https://cdn1.iconfinder.com/data/icons/onebit/PNG/onebit_34.png);
background-repeat: no-repeat;
background-position:center center;
background-size:60px60px;
}
Post a Comment for "Add An Image To A Html Type Input Check Box Or Radio"