利用原生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 学习之旅 (3)
Feb 05 Javascript
Mootools 1.2教程 滑动效果(Slide)
Sep 15 Javascript
jquery dialog open后,服务器端控件失效的快速解决方法
Dec 19 Javascript
js实现无限级树形导航列表效果代码
Sep 23 Javascript
javascript实现二级级联菜单的简单制作
Nov 19 Javascript
jquery拖拽排序简单实现方法(效果增强版)
Feb 16 Javascript
Angularjs使用过滤器完成排序功能
Sep 20 Javascript
vue项目中公用footer组件底部位置的适配问题
May 10 Javascript
微信小程序实现红包功能(后端PHP实现逻辑)
Jul 11 Javascript
详解Vue.js和layui日期控件冲突问题解决办法
Jul 25 Javascript
ES6基础之数组和对象的拓展实例详解
Aug 22 Javascript
详解javascript void(0)
Jul 13 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
德生PL550的电路分析
2021/03/02 无线电
php设计模式 Factory(工厂模式)
2011/06/26 PHP
php天翼开放平台短信发送接口实现方法
2014/12/22 PHP
php微信开发之上传临时素材
2016/06/24 PHP
php微信公众号开发之答题连闯三关
2018/10/20 PHP
Laravel框架基于ajax实现二级联动功能示例
2019/01/17 PHP
php+ajax实现商品对比功能示例
2019/04/13 PHP
laravel 5.5 关闭token的3种实现方式
2019/10/24 PHP
js arguments.callee的应用代码
2009/05/07 Javascript
javascript实现日期格式转换
2014/12/16 Javascript
JavaScript实现的encode64加密算法实例分析
2015/04/15 Javascript
js实现微信分享代码
2020/10/11 Javascript
javascript函数命名的三种方式及区别介绍
2016/03/22 Javascript
dul无法加载bootstrap实现unload table/user恢复
2016/09/29 Javascript
Bootstrap table简单使用总结
2017/02/15 Javascript
jquery 禁止鼠标右键并监听右键事件
2017/04/27 jQuery
vue.js项目中实用的小技巧汇总
2017/11/29 Javascript
用React-Native+Mobx做一个迷你水果商城APP(附源码)
2017/12/25 Javascript
浅析vue.js数组的变异方法
2018/06/30 Javascript
jQuery实现当拉动滚动条到底部加载数据的方法分析
2019/01/24 jQuery
关于Node.js中频繁修改代码重启服务器的问题
2020/10/15 Javascript
python sys模块sys.path使用方法示例
2013/12/04 Python
Python三元运算实现方法
2015/01/12 Python
深入理解python中的select模块
2017/04/23 Python
对Python3+gdal 读取tiff格式数据的实例讲解
2018/12/04 Python
python爬取内容存入Excel实例
2019/02/20 Python
python做接口测试的必要性
2019/11/20 Python
django2.2 和 PyMySQL版本兼容问题
2020/02/17 Python
雅虎笔试题(字符串操作)
2015/03/24 面试题
System.Array.CopyTo()和System.Array.Clone()有什么区别
2016/06/20 面试题
大专应届生个人简历的自我评价
2013/10/15 职场文书
竞选学委演讲稿
2014/09/13 职场文书
学生会辞职信
2015/03/02 职场文书
2015年业务工作总结范文
2015/04/10 职场文书
2015年暑期实践报告范文
2015/07/13 职场文书
领导莅临指导欢迎词
2015/09/30 职场文书