Name
Name
Name
name
<!doctype html><html><head><meta charset="utf-8"><title></title><script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script><style> ul,li{ padding:0; margin:0; list-style:none; } li{ width:100px; border:1px solid; background:#FFF; } input[type=checkbox]{ visibility:hidden; width:0; } span{ width:100%; } label{ display:block; } .selected{ background:#F60; } img{ width:20px; height:20px; }</style><script> $(function(){ $("input").change(function(){ var _this = $(this), li = _this.closest("li"); if(_this.is(":checked")){ li.addClass("selected"); }else { li.removeClass("selected"); } }); }); function submit(){ var chkVal = []; $("input[type=checkbox]:checked").each(function(){ chkVal.push(this.value); }); alert(chkVal); }</script></head><body> <div> <ul> <li><label><input type="checkbox" name="chk" value="1"/><span><img src="123.jpg"/>chk1</span></label></li> <li><label><input type="checkbox" name="chk" value="2"/><span><img src="123.jpg"/>chk2</span></label></li> <li><label><input type="checkbox" name="chk" value="3"/><span><img src="123.jpg"/>chk3</span></label></li> <li><label><input type="checkbox" name="chk" value="4"/><span><img src="123.jpg"/>chk4</span></label></li> <li><label><input type="checkbox" name="chk" value="5"/><span><img src="123.jpg"/>chk5</span></label></li> </ul> </div> <input type="button" value="submit" onclick="submit();"/></body></html>
3Q. That's the effect. I still want to ask. What should I do if I don’t want the checkbox to occupy space? Now you can see that the checkbox occupies about 5 pixels. But I see that the width is already 0.
<!doctype html><html><head><meta charset="utf-8"><title></title><script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script><style> ul,li{ padding:0; margin:0; list-style:none; } li{ width:100px; border:1px solid; background:#FFF; } input[type=checkbox]{ visibility:hidden; width:0; } span{ width:100%; } label{ display:block; } .selected{ background:#F60; } img{ width:20px; height:20px; }</style><script> $(function(){ $("input").change(function(){ var _this = $(this), li = _this.closest("li"); if(_this.is(":checked")){ li.addClass("selected"); }else { li.removeClass("selected"); } }); }); function submit(){ var chkVal = []; $("input[type=checkbox]:checked").each(function(){ chkVal.push(this.value); }); alert(chkVal); }</script></head><body> <div> <ul> <li><label><input type="checkbox" name="chk" value="1"/><span><img src="123.jpg"/>chk1</span></label></li> <li><label><input type="checkbox" name="chk" value="2"/><span><img src="123.jpg"/>chk2</span></label></li> <li><label><input type="checkbox" name="chk" value="3"/><span><img src="123.jpg"/>chk3</span></label></li> <li><label><input type="checkbox" name="chk" value="4"/><span><img src="123.jpg"/>chk4</span></label></li> <li><label><input type="checkbox" name="chk" value="5"/><span><img src="123.jpg"/>chk5</span></label></li> </ul> </div> <input type="button" value="submit" onclick="submit();"/></body></html>
input[type=checkbox] {
visibility: hidden;
width: 0;
border: 0;
margin: 0;
}