利用原生js和jQuery实现单选框的勾选和取消操作的方法


Posted in Javascript onSeptember 04, 2016

根据以下的Demo,大概就可以看的明白

Demo:

<html>
<head>
<script src='jquery-1.9.1.min.js'></script>
<script>
  window.onload = function(){
    var dom_a = document.getElementById('a1');
    var dom_b = document.getElementById("b1");
    //alert("A="+dom_a.value+" || B="+dom_b.value);
  }

  //以下开始操作radio的取消和勾选
  //原生js操作
  function fn1(){
    var dom_a = document.getElementById('a1');
    var dom_b = document.getElementById("b1");
    //勾选
    dom_a.checked = true;
    //dom_a.checked = 'false';
    //dom_a.checked = 123;
    //取消勾选
    dom_b.checked = '';
    //dom_b.checked = false;//取消勾选
    //dom_b.checked = null;//取消勾选
    //dom_b.checked = undefined;//取消勾选

  }
  //利用jQuery操作
  function fn2(){
    var jQ_a = $('#a2');
    var jQ_b = $("#b2");
    //勾选
    jQ_a.prop('checked','abc');
    //jQ_a.prop('checked','123');
    //jQ_a.prop('checked','true');
    //jQ_a.prop('checked',true);
    //jQ_a.prop('checked',123);//数字可以
    //jQ_a.prop('checked',-1);
    //jQ_a.prop('checked',abc);//会报错,abc未定义 {所以预猜测checked只要有已定义的值即可实现选中(undefined代表未定义)}
    //取消勾选
    jQ_b.prop('checked','');
    //jQ_b.prop('checked',false);
    //jQ_b.prop('checked',null);
    //jQ_b.prop('checked',undefined);//没有任何效果,不会报错
  }

</script>
<style>
  .own{
    border:solid 2px red;
    padding:20px 5px 20px 40px;
    width:300px;
    margin:80 0 0 500;
  }
</style>
<head>
<body>
<!--
  通过实验得知:
    初始化让单选框选中有4种方法可以实现:
    1、checked
    2、checked='checked'(建议用此方法,此方法对浏览器可以有很好的兼容性)
    3、checked='true'
    4、checked=true
    小提示:通过给checked属性复制,只要checked存在,
      赋予任何值都可以初始化选中(eg:checked='aaa' 或 checked='false')
      不赋值都可以实现初始化选中
    测试成功案例:
      [checked],[checked='checked'],[checked='true'],[checked=true],[checked='aaa'],[checked='false'],
      [checked='undefined'],[checked=false],[checked=null],[checked=undefined],[checked=''],[checked='-1']

    当有多个被选中时,最后选中的单选框为最后一个
-->

<div class='own'>
<label>A1</label><input id='a1' type='radio' value='1' name='test1' checked />
<label>B1</label><input id='b1' type='radio' value='2' name='test1' checked='checked'/>
<label>C1</label><input id='c1' type='radio' value='3' name='test1' checked='true' />
<label>D1</label><input id='d1' type='radio' value='4' name='test1' checked=true />
<button onclick='fn1()'>测试点击一下</button>
</div>

<div class='own'>
<label>A2</label><input id='a2' type='radio' value='1' name='test2' />
<label>B2</label><input id='b2' type='radio' value='2' name='test2' checked/>
<label>C2</label><input id='c2' type='radio' value='3' name='test2' />
<label>D2</label><input id='d2' type='radio' value='4' name='test2' />
<button onclick='fn2()'>测试点击一下</button>
</div>

</body>
</html>

以上这篇利用原生js和jQuery实现单选框的勾选和取消操作的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 写类方式之二
Jul 05 Javascript
Javascript面向对象编程
Mar 18 Javascript
IE9+已经不对document.createElement向下兼容的解决方法
Sep 14 Javascript
js实现简单的碰壁反弹效果
Aug 30 Javascript
学习Node.js模块机制
Oct 17 Javascript
Vue.js使用v-show和v-if的注意事项
Dec 13 Javascript
bootstrap模态框实现拖拽效果
Dec 14 Javascript
JS操作input标签属性checkbox全选的实现代码
Mar 02 Javascript
微信小程序实现人脸检测功能
May 25 Javascript
详解vue-property-decorator使用手册
Jul 29 Javascript
Element-ui树形控件el-tree自定义增删改和局部刷新及懒加载操作
Aug 31 Javascript
Vue+penlayers实现多边形绘制及展示
Dec 24 Vue.js
关于两个jQuery(js)特效冲突的bug的解决办法
Sep 04 #Javascript
DOM操作原生js 的bug,使用jQuery 可以消除的解决方法
Sep 04 #Javascript
每个程序员都需要学习 JavaScript 的7个理由小结
Sep 03 #Javascript
JavaScript 冒泡排序和选择排序的实现代码
Sep 03 #Javascript
浅析$(function) ready和onload 的区别
Sep 03 #Javascript
详解Javascript中prototype属性(推荐)
Sep 03 #Javascript
jQuery基本选择器之标签名选择器
Sep 03 #Javascript
You might like
FCKeditor添加自定义按钮
2008/03/27 PHP
一周让你学会PHP 不错的学习资料
2009/02/06 PHP
Linux下从零开始安装配置Nginx服务器+PHP开发环境
2015/12/21 PHP
script标签的 charset 属性使用说明
2010/12/04 Javascript
js保存当前路径(cookies记录)
2010/12/14 Javascript
JavaScript中变量提升 Hoisting
2012/07/03 Javascript
jquery仿京东导航/仿淘宝商城左侧分类导航下拉菜单效果
2013/04/24 Javascript
JavaScript设置body高度为浏览器高度的方法
2015/02/09 Javascript
jquery使用each方法遍历json格式数据实例
2015/05/18 Javascript
Bootstrap每天必学之标签与徽章
2015/11/27 Javascript
jqGrid用法汇总(全经典)
2016/06/28 Javascript
node.js路径处理方法以及绝对路径详解
2021/03/04 Javascript
Vue.js特性Scoped Slots的浅析
2019/02/20 Javascript
vue 实现特定条件下绑定事件
2019/11/09 Javascript
python实现批量解析邮件并下载附件
2018/06/19 Python
使用python制作一个为hex文件增加版本号的脚本实例
2019/06/12 Python
python 的numpy库中的mean()函数用法介绍
2020/03/03 Python
Python正则表达式学习小例子
2020/03/03 Python
在python中求分布函数相关的包实例
2020/04/15 Python
使用Keras加载含有自定义层或函数的模型操作
2020/06/10 Python
Keras 在fit_generator训练方式中加入图像random_crop操作
2020/07/03 Python
viagogo波兰票务平台:演唱会、体育比赛、戏剧门票
2018/04/23 全球购物
TCP/IP中的TCP和IP分别承担什么责任
2012/04/21 面试题
环境科学毕业生自荐信
2013/11/21 职场文书
心理健康心得体会
2014/01/02 职场文书
毕业生自荐书模版
2014/01/04 职场文书
继承公证书样本
2014/04/04 职场文书
煤矿安全知识竞赛活动总结
2014/07/07 职场文书
委托书格式
2014/08/01 职场文书
教师党的群众路线对照检查材料
2014/09/24 职场文书
村党支部书记个人对照材料汇报
2014/10/26 职场文书
欢迎词怎么写
2015/01/23 职场文书
2015年度工程师评职称工作总结
2015/10/14 职场文书
Vue全家桶入门基础教程
2021/05/14 Vue.js
理解python中装饰器的作用
2021/07/21 Python
Python OpenCV超详细讲解调整大小与图像操作的实现
2022/04/02 Python