jquery的checkbox,radio,select等方法总结

jquery的checkbox,radio,和select是jquery操作的一个难点和重点,很多前端新手对其了解不是很透彻。时间久了不用,我在写的时候有时也难免对某些操作支支吾吾,记不清楚,现在,对其做一些简单的总结!

1、checkbox日常jquery操作。

现在我们以下面的html为例进行checkbox的操作。

<input id="checkAll" type="checkbox" />全选
        <input name="subBox" type="checkbox" />项1
        <input name="subBox" type="checkbox" />项2
        <input name="subBox" type="checkbox" />项3 
        <input name="subBox" type="checkbox" />项4

全选和全部选代码:

<script type="text/javascript">
        $(function() {
           $("#checkAll").click(function() {
                $('input[name="subBox"]').attr("checked",this.checked); 
            });
            var $subBox = $("input[name='subBox']");
            $subBox.click(function(){
                $("#checkAll").attr("checked",$subBox.length == $("input[name='subBox']:checked").length ? true : false);
            });
        });
    </script>

checkbox属性:

var val = $("#checkAll").val();// 获取指定id的复选框的值
  var isSelected = $("#checkAll").attr("checked"); // 判断id=checkAll的那个复选框是否处于选中状态,选中则isSelected=true;否则isSelected=false;  //jquery1.6之后版本,用prop()判断。应该写成 isSelected = $("#checkAll").prop("checked");
$("#checkAll").attr("checked", true);// or
$("#checkAll").attr("checked", 'checked');// 将id=checkbox_id3的那个复选框选中,即打勾  
$("#checkAll").attr("checked", false);// or  
$("#checkAll").attr("checked", '');// 将id=checkbox_id3的那个复选框不选中,即不打勾 $("input[name=subBox][value=3]").attr("checked", 'checked');// 将name=subBox, value=3 的那个复选框选中,即打勾  
$("input[name=subBox][value=3]").attr("checked", '');// 将name=subBox, value=3 的那个复选框不选中,即不打勾  
$("input[type=checkbox][name=subBox]").get(2).checked = true;// 设置index = 2,即第三项为选中状态  
$("input[type=checkbox]:checked").each(function(){ //由于复选框一般选中的是多个,所以可以循环输出选中的值  
    alert($(this).val());
  }); //jquery1.6之后新增.prop()属性,因此jquery1.6之后的版本,用var isSelected = $("#checkAll").prop("checked");选中则isSelected=true;否则isSelected=false;  来判断是否选中!

2、radio的jquery日常操作及属性

我们仍然以下面的html为例:

<input type="radio" name="radio" id="radio1" value="1" />1  <input type="radio" name="radio" id="radio2" value="2" />2  <input type="radio" name="radio" id="radio3" value="3" />3  <input type="radio" name="radio" id="radio4" value="4" />4 

radio操作如下:

$("input[name=radio]:eq(0)").attr("checked",'checked'); //这样就是第一个选中咯。
  //jquery中,radio的选中与否和checkbox是一样的。$("#radio1").attr("checked","checked");
$("#radio1").removeAttr("checked");
$("input[type='radio'][name='radio']:checked").length == 0 ? "没有任何单选框被选中" : "已经有选中";  
$('input[type="radio"][name="radio"]:checked').val(); // 获取一组radio被选中项的值 $("input[type='radio'][name='radio'][value='2']").attr("checked", "checked");// 设置value = 2的一项为选中  
$("#radio2").attr("checked", "checked"); // 设置id=radio2的一项为选中 $("input[type='radio'][name='radio']").get(1).checked = true; // 设置index = 1,即第二项为当前选中  
var isChecked = $("#radio2").attr("checked");// id=radio2的一项处于选中状态则isChecked = true, 否则isChecked = false;  
var isChecked = $("input[type='radio'][name='radio'][value='2']").attr("checked");// value=2的一项处于选中状态则isChecked = true, 否则isChecked = false;  

3、select下拉框的日常jquery操作

select操作相比checkbox和radio要相对麻烦一些,我们仍然以下面的html为例来说明:

<select name="select" id="select_id" style="width: 100px;">  
    <option value="1">11</option>  
    <option value="2">22</option>  
    <option value="3">33</option>  
    <option value="4">44</option>  
    <option value="5">55</option>  
    <option value="6">66</option>
  </select> 

看select的如下属性:

    $("#select_id").change(function(){// 1.为Select添加事件,当选择其中一项时触发   
        //code...  
    });  
    var checkValue = $("#select_id").val();// 2.获取Select选中项的Value  
    var checkText = $("#select_id :selected").text(); // 3.获取Select选中项的Text 
    var checkIndex = $("#select_id").attr("selectedIndex");// 4.获取Select选中项的索引值,或者:$("#select_id").get(0).selectedIndex;  
    var maxIndex =$("#select_id :last").get(0).index;// 5.获取Select最大的索引值
    /** 
     * jQuery设置Select的选中项 
     */  
    $("#select_id").get(0).selectedIndex = 1;// 1.设置Select索引值为1的项选中  
    $("#select_id").val(4);// 2.设置Select的Value值为4的项选中  
    /** 
     * jQuery添加/删除Select的Option项 
     */  
    $("#select_id").append("<option value='新增'>新增option</option>");// 1.为Select追加一个Option(下拉项)   
    $("#select_id").prepend("<option value='请选择'>请选择</option>");// 2.为Select插入一个Option(第一个位置)  
    $("#select_id").get(0).remove(1);// 3.删除Select中索引值为1的Option(第二个)  
    $("#select_id :last").remove();// 4.删除Select中索引值最大Option(最后一个)   
    $("#select_id [value='3']").remove();// 5.删除Select中Value='3'的Option   
    $("#select_id").empty();             

   $("#select_id").find("option:selected").text();// 获取select 选中的 text :
   $("#select_id").val(); // 获取select选中的 value:
   $("#select_id").get(0).selectedIndex;// 获取select选中的索引:

 //设置select 选中的value:
    $("#select_id").attr("value","Normal");
    $("#select_id").val("Normal");
    $("#select_id").get(0).value = value;

 //设置select 选中的text,通常可以在select回填中使用
var numId=33 //设置text==33的选中!
var count=$("#select_id  option").length;
  for(var i=0;i<count;i++)  
     {           if($("#select_id").get(0).options[i].text == numId)  
        {  
            $("#select_id").get(0).options[i].selected = true;  
            break;  
        }  
    }

通过上面的总结,应该对jquery的checkbox,radio和select有了一定的了解了吧,温故而知新,用多了就会变的熟练起来,即使有时候忘记了,也可以来翻一翻!

原文发布于微信公众号 - Java帮帮(javahelp)

原文发表时间:2018-11-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏python学习之旅

Python+Selenium笔记(六):元素定位

(一)  前言 Web应用以及包含超文本标记语言(HTML)、层叠样式表(CSS)、JS脚本的WEB页面,基于用户的操作(例如点击提交按钮),浏览器向WEB服务...

4778
来自专栏韩东吉的Unity杂货铺

零基础入门 8: Canvas和EventSystem

UGUI是新版Unity自带的原生UI系统,组件也在不断的增加扩展,基本的贴图,文本,按钮等还是可以用的。接下来的几篇内容会以UGUI展开分享。

1423
来自专栏GIS讲堂

C#控件命名规范

1、 本规范是个人平时使用时为方便个人使用而制定的一套规范,有很多地方不易记忆与理解,后续在具体的使用过程中会做一定的改动。

2323
来自专栏林德熙的博客

win10 UWP 全屏 VB 全屏C++ 全屏

win10 可以全屏软件或窗口,窗口有一般、最小化、最大化。我们有新的API设置我们软件是全屏,是窗口。我们可以使用ApplicationView让我们软件全屏...

1161
来自专栏十月梦想

bootstrap之图片的响应式

前面提到了内容段落的响应式采用栅格系统进行不同设备的响应式,下面简单进行图片的样式和响应式介绍.

994
来自专栏Material Design组件

Material Design — 菜单(Menus)

42410
来自专栏三木的博客

HTML概要

HTML CSS Javascript 的关系 HTML是网页内容的载体。内容就是网页制作者放在页面上想要让用户浏览的信息,可以包含文字、图片、视频等。 CSS...

3229
来自专栏九彩拼盘的叨叨叨

Vue2 组件通信写法总结

子组件只接收在子组件定义的 props的值。通过 this.prop名称 获得父组件传数据。

622
来自专栏知道一点点

【原创】bootstrap框架的学习 第八课 -[bootstrap表单]

<!DOCTYPE html> <html> <head> <title>Bootstrap 实例 - 内联表单</title> <link hre...

1052
来自专栏林德熙的博客

win10 uwp 在 Canvas 放一个超过大小的元素会不会被裁剪

我尝试在一个宽度200高度200的 Canvas 放了一个宽度 300 高度 300 的元素,这个元素会不会被 Canvas 裁剪了? 经过我的测试,发现默认是...

1021

扫码关注云+社区

领取腾讯云代金券