`
Everyday都不同
  • 浏览: 723668 次
  • 性别: Icon_minigender_1
  • 来自: 宇宙
社区版块
存档分类
最新评论

选择控件:select ,radio,checkbox之用jquery获取选中值的小结

阅读更多

最近是因为用到了checkbox ,需要用jquery获取多选框的选择值。虽然简单,但其实自己还是花了一小点时间的(因为不太熟……),所以整理一下。顺便捎上了select下拉框,radio单选按钮。下面用小的示例整理下如何获取这些选择控件所选中的值。

 

一、select下拉单选框

测试页面:

 

 <label> select下拉框测试</label> <br/>
        <select id="select">
          <option value ="1">Volvo</option>
          <option value ="2">Saab</option>
          <option value="3">Opel</option>
          <option value="4">Audi</option>
        </select><br/>
         <input type="button" value="下拉框测试" onclick="submit1()" /> <br/>
         <input type="button" value="下拉框设置选中" onclick="set1()" /><br/><br/>

 测试js:

 

 

 $(function(){
   $("select").change(function() {//下拉框选项改变所触发的事件
   var index = $("select").get(0).selectedIndex;//获取下拉框所选中项的索引
   alert("选中的是第:" + (index+1) + "项!");
 });
});

function submit1() {
   var $selected = $("select").find("option:selected");//所选中的下拉框选项
     var text= $selected.text();//所选中的文本(显示在页面的文本)
    var val = $selected.val();//所选中的值(一般是提交给后台的值)
               
   alert("选中的text:" + text + " ,value:" + val);
 }
            
 function set1() {
     var obj =  $("select").find("option[value='2']");//指定vlaue为2的下拉框选项(注意这种选择器的写法)
      obj.attr("selected", true);//指定该选项被选中
 }

测试:默认情况下,select下拉框显示的(即选中的)是第一项(索引为0);当选中第'Opel'项时 ,会弹出:选中的是第3项;点击“下拉框测试”按钮时,弹出:选中的text:Opel, value:3;点击“下拉框设置选中”按钮时,下拉框显示选中的值会是:Saab。

注:上面var index = $("select").get(0).selectedIndex用get(0)是因为$("select")选择器不能保证只得到单个确定的select下拉框(即使页面只有一个select),它得到的会是一个select的数组。所以你需要得到具体的select就需要用到下标了。

小结:关于常见的select的取值的用法已经在上述js中,select只可提交单个值(是value而非text)到后台(通过name属性)。

 

二、radio单选按钮

测试页面:

 <label> radio单选框测试</label> <br/>
        <input type="radio" name="danx" value="sd" checked="checked" />学生 
        <input type="radio" name="danx" value="tea" />教师 
        <input type="radio" name="danx" value="adm" />管理员 <br/>
        
         <input type="button" value="单选按钮测试" onclick="submit2()" /> <br/>
         <input type="button" value="单选框设置选中" onclick="set2()" /><br/><br/>

 测试js:

 $(function(){
      $("input:radio").click(function() {
          alert("改变了选择");//单选按钮的点击事件  还有blur focus事件
       });
 });

 function set2() {
    var $checked = $("input[type=radio]").eq(2);//单选按钮中索引为2的选项("管理员"选项)
      //$checked.attr("checked", true);
       var $checked2 = $("input:radio[value='tea']");//单选按钮中value为tea的选项
       $checked2.attr("checked", true);
 }
            
 function submit2() {
     var $radio = $("input[type='radio']:checked");//获取选中的选项
       var val = $radio.val();//获取选中的选项的值value
       alert("选中的val:" + val);
                
}

 

测试:同理,在默认情况下,单选按钮显示的选中的值是第一个。当我选中“教师”选项,时,会弹出“改变了选择”字样 。当我选择了"教师"选项时,会弹出:“选中的val:tea”。点击“单选框设置选中”按钮时,会发现页面的“教师”选项被选中。提交给后台的即是选中的val(通过name属性);

上述简单的js已经说明了常见的radio单选按钮选中的值的用法。需要注意的是:一般radio单选按钮的各选项,name值必须各异,否则可以多选,从而违背单选的初衷。

 

三、checkbox多选框

测试页面:

  <label>多选框测试</label> <br/>
         <label>选项1</label><input name="checkbox" type="checkbox" value="value1" />
         <label>选项2</label><input name="checkbox" type="checkbox" value="value2" />
         <label>选项3</label><input name="checkbox" type="checkbox" value="value3" />
         <label>选项4</label><input name="checkbox" type="checkbox" value="value4" /><br/>
         
<input type="button" value="多选按钮测试" onclick="submit3()" />

 测试js:

function submit() {
$checkbox = $("input[name='checkbox']:checked");//这里的这种选择器是关键
alert($checkbox.length);
if($checkbox) {//表示有选中的多选框,此时为true;如果没有一个选中,这里会是false
       for(var i=0; i<$checkbox.length; i++) {
           alert($checkbox[i].value);//选中项的值
       }
     }
}

 测试:点击“多选按钮测试”按钮时,当全不选时,弹出0(选中的数组的长度)。 当选中第一、三时,依次弹出:2 value1 value3;当选中第二、三、四时,依次弹出:3 value1 value3 value4 以此类推……

但如果你直接尝试$checkbox的话,得到的永远是数组第一个元素的值!!

同理,控制选项选中与否的语法为:$checkbox[i].attr("checked", true)——选中, $checkbox[i].attr("checked", false)——不选中。

注:checkbox选中项永远是一个【数组】,这跟上面select和radio单选控件是不一样的,单选控件选项永远是单个对象,而checkbox哪怕你只选中一项,他也是一个只有一个元素的数组,此时当你想要用该选中项的语法时,必须是用get(0)或[0]来得到具体的对象。(而关于checkbox提交给后台的值(name属性),是由前端Js控制的,可以是用,分隔的字符串也可以是字符串数组)

 

还需注意的一点是:一般情况下:只有jquery的id选择器可以得到确切的jquery对象,其他选择器诸如name选择器,class选择器等等,一般得到的是【jquery对象数组】,想取其中某个具体的对象,需要用下标[n],但用了下标也只是取到一个js对象,需要再次用$包装起来才是一个jq对象。如:

var input = $("input[name='isinst']")[0];// $("input[name='isinst']")是一数组
 $(input).val("1");//$(input)才是jquery对象

 注:如果你用如name选择器$("input[name='isinst']").val(val)时,你会给所有name为isinst的input框赋值val,而你用$("input[name='isinst']").val()时,仅仅取到的是这个对象数组的第一个元素的value.

 

本篇小结只总结了常见的选择控件如何用jquery获取选中值的用法。具体、详细的一些用法持续补充中。。

 

Btw:通过parentElement属性获取父元素得到的是一个js对象,如果需要用jquery对象,需要用$()包装起来!

===============================================================================

 

 

0
1
分享到:
评论
2 楼 天使建站 2018-05-10  
http://www.aijquery.cn/Html/biaoqian/82.html看这里 有在线实例演示
1 楼 好好学习-天天向上 2015-12-07  
走是一个字:好!!!好!!!好!!!

相关推荐

    selectTree tree控件 日历控件 tree控件 radio CheckBox demo

    "selectTree tree控件 日历控件 tree控件 radio CheckBox demo"这个标题揭示了几个关键的组件,它们是网页交互中的重要元素。下面将详细介绍这些控件及其应用场景。 1. **selectTree(选择树控件)**: 选择树控件...

    jquery获取表单值

    除了获取表单控件的值外,还可以使用jQuery来控制这些元素的状态,例如清空内容、填充内容、改变选中状态等。 ##### 1. 文本框、文本域的操作 - 清空内容: ```javascript $("#text_id").val(''); ``` - 填充...

    jQuery设置和获取select、checkbox、radio的选中值方法

    本文将详细介绍如何使用jQuery设置和获取这些表单控件的选中值。 首先,我们来看下如何设置单选下拉框(select)的选中值。单选下拉框通常用于从多个选项中选择一个。若要在不具有value属性的option中设置选中项,...

    JQuery获取input控件值.docx

    如果有一个name为`items`的radio组,获取选中项的值可使用:`$("input[@type=radio][@name=items][@checked]").val()`。 - 设置radio选中项,可以这样操作:假设要让name为`items`的组中,value为`2`的radio被选中...

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

    在jQuery中,对HTML元素的操纵是前端开发中不可或缺的一部分,尤其对于`checkbox`、`radio`和`select`这些常见的表单控件,熟练掌握它们的jQuery操作至关重要。这里我们将详细探讨这些方法,帮助你更好地理解和应用...

    jquery中一些用到的方法和事件

    - 使用 `$("#select_id option[text='jQuery']").attr("selected", true)` 可以通过文本内容设置Select控件的选择项。 ### 2. 操作Select控件的选项 #### 2.1 添加新的选项 - 使用 `$("#select_id").append(...

    jquery 学习

    本文档将详细介绍 jQuery 中与表单相关的常用函数和方法,特别是如何操作输入框(Input)、下拉列表(Select)、单选按钮(Radio)和复选框(Checkbox)等元素。 #### 二、操作Input输入框 在网页表单中,输入框是...

    获得html中表单元素值总结

    本文将详细介绍如何在JavaScript中获取不同类型的HTML表单元素的值,包括下拉选择框(`&lt;select&gt;`)、单选按钮(`&lt;input type="radio"&gt;`)、复选框(`&lt;input type="checkbox"&gt;`)以及文本输入框(`...

    jquery1.5 参考文档

    - `$.jQuery(selector[,context])`:根据给定的选择器和上下文获取元素集合。 - `$.jQuery(element)`:将单个DOM元素转换为jQuery对象。 - `$.jQuery(elementArray)`:将DOM元素数组转换为jQuery对象。 - `$.jQuery...

    JQuery中对服务器控件 DropdownList, RadioButtonList, CheckboxList的操作总结

    1. **如果只有一个RadioButtonList**:可以简单地使用`$("input[type='radio']:checked").val()`来获取选中的值。 2. **如果有多个RadioButtonList**: - **第一步**:获取RadioButtonList控件的ID,例如`var objId...

    jQuery操作表单常用控件方法小结

    本知识点将详细总结jQuery操作表单常用控件如单选按钮(radio)、复选框(checkbox)和下拉列表(select)的方法。 首先,我们来探讨单选按钮(radio)的操作方法。单选按钮常用于需要从一组选项中选择一个的情况,...

    Jquery获得控件值的三种方法总结

    对于ASP.NET中的DropDownList控件,可以这样获取选中项的值和文本: ```javascript function bbOK() { var a = $("#ddlGuo option:selected").val(); // 获取值 var b = $("#ddlGuo option:selected").text(); //...

    jquery笔记详细

    - 使用 `val()` 方法设置或获取 select 下拉列表中被选中的选项的值。 - 示例:设置 `#one` 对应的 select 下拉列表中选中项的文本为 "2号"。 ```javascript $("#one").val("2号"); ``` - **添加选项**: - ...

    jq基本控件操作集合

    jq基本控件操作集合:select,radio,checkbox全选

    240多个jQuery UI插件

    - **jQuery Disable Text Select Plugin**: 禁止文本被选中。 - **Edit in Place with Ajax using jQuery**: 结合Ajax实现就地编辑。 - **jQuery Plugin - Another In-Place Editor**: 另一种就地编辑插件。 - *...

    jQuery表单设置值的方法

    对于复选框(`&lt;input type="checkbox"&gt;`),`.val()`方法会设置或获取选中的复选框的值。如果要一次性设置多个复选框,可以传入一个包含所有值的数组: ```javascript $(":checkbox").val(["check2", "check3"]); `...

    jQuery 表单验证扩展(三)

    jQuery表单验证不仅可以应用于普通的文本输入框,还可以用于radio、checkbox、select等表单控件,以及对数据类型、输入范围进行验证。 接着,我们来探讨文章中提到的输入范围验证。输入范围验证主要是针对用户输入...

    JQuerry 插件介绍

    - jQuery Checkbox (checkboxes with images):使用图像作为复选框。 - jQuery SpinButton Control:数字输入框,带有上下箭头控制。 - jQuery Ajax Form Builder:构建动态的AJAX表单。 - jQuery Focus Fields...

Global site tag (gtag.js) - Google Analytics