利用原生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的一种模块模式
Mar 22 Javascript
jquery jqPlot API 中文使用教程(非常强大的图表工具)
Aug 15 Javascript
利用window.name实现windowStorage代码分享
Jan 02 Javascript
javascript获取浏览器类型和版本的方法(js获取浏览器版本)
Mar 13 Javascript
AngularJS中run方法的巧妙运用
Jan 04 Javascript
使用jQuery的ajax方法向服务器发出get和post请求的方法
Jan 13 Javascript
js按条件生成随机json:randomjson实现方法
Apr 07 Javascript
Javascript的console['']常用输入方法汇总
Apr 26 Javascript
详解Angular5/Angular6项目如何添加热更新(HMR)功能
Oct 10 Javascript
jQuery实现消息弹出框效果
Dec 10 jQuery
基于vue+element实现全局loading过程详解
Jul 10 Javascript
elementUI同一页面展示多个Dialog的实现
Nov 19 Javascript
关于两个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
PHP+MYSQL 出现乱码的解决方法
2008/08/08 PHP
php与php MySQL 之间的关系
2009/07/17 PHP
PHP has encountered an Access Violation at 7C94BD02解决方法
2009/08/24 PHP
10个超级有用值得收藏的PHP代码片段
2015/01/22 PHP
PHP实现批量上传单个文件
2015/12/29 PHP
脚本之家贴图转换+转贴工具用到的js代码超级推荐
2007/04/05 Javascript
JQuery中的$.getJSON 使用说明
2011/03/10 Javascript
深入理解JavaScript作用域和作用域链
2011/10/21 Javascript
jQuery学习笔记(1)--用jQuery实现异步通信(用json传值)具体思路
2013/04/08 Javascript
js判断鼠标同时离开两个div的思路及代码
2013/05/31 Javascript
JQuery解析HTML、JSON和XML实例详解
2014/03/29 Javascript
jQuery插件formValidator自定义函数扩展功能实例详解
2015/11/25 Javascript
javascript for-in有序遍历json数据并探讨各个浏览器差异
2015/11/30 Javascript
AngularJS HTML DOM详解及示例代码
2016/08/17 Javascript
JS实现漂亮的时间选择框效果
2016/08/20 Javascript
Vue Router history模式的配置方法及其原理
2019/05/30 Javascript
Vue将页面导出为图片或者PDF
2020/08/17 Javascript
nodejs实现的http、https 请求封装操作示例
2020/02/06 NodeJs
vue 路由守卫(导航守卫)及其具体使用
2020/02/25 Javascript
Vue登录拦截 登录后继续跳转指定页面的操作
2020/08/04 Javascript
[54:10]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例
2017/08/31 Python
Django中间件实现拦截器的方法
2018/06/01 Python
python基础梳理(一)(推荐)
2019/04/06 Python
Python 处理文件的几种方式
2019/08/23 Python
pymysql模块使用简介与示例
2020/11/17 Python
CSS3 中filter(滤镜)属性使用详解
2020/04/07 HTML / CSS
详解Canvas 实现炫丽的粒子运动效果(粒子生成文字)
2018/02/01 HTML / CSS
Mavi牛仔裤美国官网:土耳其著名牛仔品牌
2016/09/24 全球购物
怎样自定义一个异常类
2016/09/27 面试题
促销活动策划方案
2014/01/12 职场文书
保密承诺书范文
2014/03/27 职场文书
2016寒假假期总结
2015/10/10 职场文书
2019中小学生安全过暑期倡议书
2019/06/24 职场文书
Netty结合Protobuf进行编解码的方法
2021/06/26 Java/Android
Django + Taro 前后端分离项目实现企业微信登录功能
2022/04/07 Python