<!--html--><div id="project" class="col-sm-13"><input type="radio" id="chenei" name="project"><label class="select" for="chenei">车内净化</label><input type="radio" id="jujia" name="project"><label class="unselect" for="jujia" >居家空气治理</label><input type="radio" id="gonggong" name="project"><label class="unselect" for="gonggong">公共场所治理</label></div>
/*CSS代码*/input{margin-right:60px;visibility:hidden; /*使用visibility方便调整间距。你也可以使用display:none;但是就无法调整间距了*/}.select {padding-left: 30px;cursor: pointer;background: url(../icon/select.png) no-repeat left;}.unselect{padding-left: 30px;cursor: pointer;background: url(../icon/unselect.png) no-repeat left;}
/*JS*/$("#project label").click(function(){var a = $(this).siblings().attr("class","unselect");$(this).attr("class","select");})
基本思路:
1)把原来的默认按钮设为不可见。
2)设置两个类,使用padding-left扩充span的内边距,设置背景,背景即为新样式。
3)使用JQ的attr()方法,当点击事件触发时,先对兄弟元素进行class的切换,从select
变为unselect
,再让自己从unselect
变为select
,这里使用了siblings()
的兄弟遍历方法。
4)不用担心表单是否被正确提交。原本的默认样式其实还存在于DOM树中的,只是隐藏起来而已,不放心的话可以变为可见,检查检查。