改变radio的样式 以及radio组相关操作的jquery插件
2017-12-11 16:16
791 查看
思路:1.将原先的radio给隐藏掉,用图片来替代
2.这里替代的图片有两种形式.第一种是一张图片有两个小图,这时候需要改变图片的位置即可 第二种,会比第一种简单一些 它只是需要用两种类来渲染不同的图片即可 . 这里的例子用的是第二种
效果图:
2.这里替代的图片有两种形式.第一种是一张图片有两个小图,这时候需要改变图片的位置即可 第二种,会比第一种简单一些 它只是需要用两种类来渲染不同的图片即可 . 这里的例子用的是第二种
效果图:
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="X-UA-Compatible" content="ie=edge" /> <script src="lib/jquery-3.1.1.js"></script> <title>Document</title> <style> input[type="radio"]{ display: none; } .radio{ background-image: url(single_nor.png); background-repeat: no-repeat; background-position: center left; padding-left: 20px; } .radioOn{ background-image: url(single_sel.png); background-repeat: no-repeat; background-position: center left; padding-left: 20px; } </style> </head> <body> <form action="" method="get"> 您最喜欢水果?<br /><br /> <label ><input name="Fruit" type="radio" class="store-radio" value="" /></label>苹果 <label><input name="Fruit" type="radio" class="store-radio" value="" /></label>桃子 <label><input name="Fruit" type="radio" class="store-radio" value="" /></label>香蕉 <label><input name="Fruit" type="radio" class="store-radio" value="" /></label>梨 <label><input name="Fruit" type="radio" class="store-radio" value="" /></label>其它 <label></label> </form> <script> $(function(){ //初始化 $('input[name="Fruit"]').each(function(index,element){ $(element).parent().addClass("radio"); }); //为label注册单击事件 $('input[name="Fruit"]').each(function(index,element){ $(element).parent().click(function(){ if($(this).hasClass("radio")){ //清除兄弟节点中选中节点的选中 $(this).siblings(".radioOn").each(function(index,element){ $(element).removeClass("radioOn").addClass("radio"); }); //为当前节点选中 $(this).removeClass("radio").addClass("radioOn"); return false; } //为当前节点取消选中 else if($(this).hasClass("radioOn")){ $(this).removeClass("radioOn").addClass("radio"); return false; } }); }); }); </script> </body> </html>
//radio插件 对象为一整个按钮组 ; (function () { $.fn.extend({ "storeRadioInit": function () { if ($(this).length > 0) { $(this).each(function (index, element) { $(element).parent().addClass("radio").click(function () { if ($(this).hasClass("radio")) { $(this).siblings(".radioOn").each(function (index, element) { $(this).children()[0].checked = false; $(element).removeClass("radioOn").addClass("radio"); }); $(this).removeClass("radio").addClass("radioOn"); $(this).children()[0].checked = true; return false; } else if ($(this).hasClass("radioOn")) { $(this).children()[0].checked = false; $(this).removeClass("radioOn").addClass("radio"); return false; } }); }); } }, "getSelectedValue": function () { var value = ""; if ($(this).length > 0) { $(this).each(function (index, element) { if ($(element).parent().hasClass("radioOn")) { value = $(element).val(); //终止循环 终止本次循环为:return true return false; } }); //该方法的返回 return value; } }, "setValue": function (value) { if ($(this).length > 0) { $(this).each(function (index, element) { if ($(element).val() == value) { $(element).parent().siblings('.radioOn').each(function (index, element) { element.checked = false; $(element).removeClass('radioOn').addClass('radio'); }); $(element).parent().addClass('radioOn'); element.checked = true; return false; } }); } } }); })(jQuery);
相关文章推荐
- 关于锚点跳转及jQuery下相关操作与插件
- JQuery+radio相关操作
- 关于锚点跳转及jQuery下相关操作与插件
- aspx中的表单验证 jquery.validate.js 的使用 以及 jquery.validate相关扩展验证(Jquery表单提交验证插件)
- jquery获取指定表格的指定列的值 以及 操作radio,checkbox,select表单操作实现代码
- 关于锚点跳转及jQuery下相关操作与插件
- 关于锚点跳转及jQuery下相关操作与插件
- 关于锚点跳转及jQuery下相关操作与插件
- Jquery常用操作:checkbox、select取值,radio、checkbox、select选中及其相关
- JQuery 拖拽以及相关插件
- 关于锚点跳转及jQuery下相关操作与插件
- jQuery扩展插件以及正则相关函数练习
- 关于锚点跳转及jQuery下相关操作与插件
- jquery取得text,areatext,radio,checkbox,select的值,以及其他一些操作
- jquery如何取得text,areatext,radio,checkbox,select的值,以及其他一些操作
- 利用jquery实现动态表格的相关操作以及列表全选功能
- jquery如何取得text,areatext,radio,checkbox,select的值,以及其他一些操作
- jQuery对Selec,radio,checkbox的相关操作
- 关于radio的相关操作以及input边框为0
- JQuery 拖拽以及相关插件