首页 > 代码库 > 怎么修改单选框radio默认样式

怎么修改单选框radio默认样式

jQuery 实现下这个效果,因此不一定是最佳方案,背景图直接从网上找到。:)
先把 HTML 码好:

<div>
  <input type="radio" id="nba" checked="checked" name="sport" value="http://www.mamicode.com/nba">
  <label name="nba" class="checked" for="nba">NBA</label>
  <input type="radio" id="cba" name="sport" value="http://www.mamicode.com/cba">
  <label name="cba" for="cba">CBA</label></div>

接着是 CSS:

input[type="radio"] {  margin: 3px 3px 0px 5px;  display: none;}label {  padding-left: 20px;  cursor: pointer;  background: url(bg.gif) no-repeat left top;}label.checked {  background-position: left bottom;}

再就是 jQuery 代码了:

$(function() {
  $(‘label‘).click(function(){    var radioId = $(this).attr(‘name‘);
    $(‘label‘).removeAttr(‘class‘) && $(this).attr(‘class‘, ‘checked‘);
    $(‘input[type="radio"]‘).removeAttr(‘checked‘) && $(‘#‘ + radioId).attr(‘checked‘, ‘checked‘);
  });
});

效果如下:

请输入图片描述

点击 CBA 后:

请输入图片描述

背景图 bg.gif 一并上传如下:

请输入图片描述

刚看到你的问题中还有一个取得选中的单选按钮的值,这个不难取得:

$(‘input[type="radio"]:checked‘).attr(‘value‘)
  • 链接

  •  

  • 10 评论

  •  

  • 更多

答案对人有帮助,有参考价值1答案没帮助,是错误的答案,答非所问

Jesse_Liang 12 6月4日 回答

@bill  的答案也是目前我项目里正在用的方案,自定义radio及checkbox的样式。
可以用纯css实现样式而不需要图片。
详细见这里
修改radio和checkbox的默认样式

答案没帮助,是错误的答案,答非所问

bill 138 5月27日 回答

参考Semantic UI的方案
http://zh.semantic-ui.com/modules/checkbox.html


怎么修改单选框radio默认样式