jQuery 获取多选框值,以及多选框中文的函数实践 by FungLeo

jQuery 获取多选框值,以及多选框中文的函数实践 by FungLeo

前言

本方法是我刚在项目中用的方法.可能有更加好的方法.但我不清楚.

搜索了几个方法,好像都有错误,不知道是别人的错误,还是我的错误.因此,我自己构造了以下方法,便于我在实践中使用.

分享出来,有谬误请大家指出.

DOM结构

我的多选框的dom结构,都是下面这种的.都是基础知识,不做过多阐述.

<label class="input_checkbox">
    <input type="checkbox" name="sell_area" vlaue="0">
    <span>甘肃</span>
</label>
<label class="input_checkbox">
    <input type="checkbox" name="sell_area" vlaue="1">
    <span>青海</span>
</label>
<label class="input_checkbox">
    <input type="checkbox" name="sell_area" vlaue="2">
    <span>陕西</span>
</label>
<label class="input_checkbox">
    <input type="checkbox" name="sell_area" vlaue="3">
    <span>宁夏</span>
</label>

使用这种方法的优点是,点击文字就可以选择多选框了.并且可以使用CSS来美化整个样式.

关于美化多选框和单选框的内容,可以参考我的博文《关于单选框以及复选框的css美化方法

JS代码

返回已经选中的多选框的值函数

function returnCheckboxVal(name){
    var data="";
    $(‘input:checkbox[name="‘+name+‘"]:checked‘).each(function(){
        data += $(this).attr("vlaue")+",";
    });
    return data.substring(0,data.length-1);
}

通过这个函数,可以按照我们的需要,返回相应name值的多选框选中的项目的值,以1,2,3的方式返回

好,这里需要解释一下了,为什么我使用$(this).attr("vlaue")这种方式来获取.

其实我从搜索引擎找到的是 $(this).val() 的方式获取的.但是我很奇怪,我返回的值全部是on.

可能和我使用的是 jquery2.0的版本有关系,但具体是什么原因,我没有深究.

返回已经选中的多选框的项目名称

如上,可能我需要返回的是甘肃,青海,陕西,宁夏这样的项目名.当然,这个也是可以做到的.

不过,这个严重依赖我上面的DOM结构,如果结构不相同的话,需要做适当的修改的.

function returnCheckboxItem(name){
    var data="";
    $(‘input:checkbox[name="‘+name+‘"]:checked‘).each(function(){
        data += $(this).siblings(‘span‘).html()+",";
    });
    return data.substring(0,data.length-1);
}

总结

  1. 网上搜索来的代码不一定都是正确的.但大体思路应该不会错.
  2. 其中的差异可能是标点符号(中英文)\缩进(中文全角空格)\或者是使用的JQ版本不相同.
  3. 所以找到的代码不能使用的时候,仔细排查一下,或许用更原始的方法可能会解决问题.
  4. 尽快完成项目,更加重要.毕竟语言只是一个工具而已.

本文由FungLeo原创,允许转载.但转载必须署名作者,并保留文章首发链接.否则将追究法律责任.

首发地址: http://blog.csdn.net/FungLeo/article/details/51424587

时间: 2024-10-20 14:21:38

jQuery 获取多选框值,以及多选框中文的函数实践 by FungLeo的相关文章

Jquery获取列表中的值和input单选、多选框控制选中与取消

一.Jquery获取列表中的值 二.input多选框控制选中 1 $('#clearbtn').click(function(){ 2 var boxes = $("input[type='checkbox']"); 3 for(i=0;i<boxes.length;i++){ 4 boxes[i].checked = false; 5 } 6 });

jQuery获取checkbox选中的值

1.问题背景 有几个多选框,选择其中的几个,获取选中的值 2.设计源码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head>

IE8下Jquery获取select选中的值的问题

我们一般使用jquery获取select时,一般这么用: <select id='a'>     <option selected='selected' value='1'> </select> var selectedValue = $("#a").val(); 在非IE8下,selectedValue的值为"1",typeof selectedValue 为"string". 在IE8下,selectedV

jquery获取单选按钮选中的值

在页面上单选按钮的代码: <s:iterator value="@[email protected]"> <input type="radio" <s:if test="key eq record.is_com">checked</s:if> value="${key}" name="record.is_com"/>${value}    </s:ite

jquery 获取,设置选中值

每一次操作select的时候,总是要出来翻一下资料,不如自己总结一下,以后就翻这里了. 比如<select class="selector"></select> 1.设置value为pxx的项选中 $(".selector").val("pxx"); 2.设置text为pxx的项选中 $(".selector").find("option[text='pxx']").attr(&qu

用jQuery获取表单的值

在日常开发过程中,有许多用到表单的地方.比如登录,注册,比如支付,填写订单,比如后台管理等等. 使用jQuery来获取表单的值是比较常见的做法. 常见表单 单行文字域:<input type='text'> <input type="text" id='name' value='pelli'> 密码域:<input type='password'> <input type="password" id='pass' value

jquery获取select选中的值并对另一个select禁用启用

误区: 一直以为jQuery获取select中option被选中的文本值,是这样写的: $("#s").text();  //获取所有option的文本值 实际上应该这样: $("#s option:selected").text();  //获取选中的option的文本值 获取select中option的被选中的value值, $("#s").val(); $("#s option:selected").val(); js获

jquery获取当前元素索引值index()方法(总结)

jquery的index()方法 搜索匹配的元素,并返回相应元素的索引值,从0开始计数. 如果不给 .index() 方法传递参数,那么返回值就是这个jQuery对象集合中第一个元素相对于其同辈元素的位置.如果参数是一组DOM元素或者jQuery对象,那么返回值就是传递的元素相对于原先集合的位置.如果参数是一个选择器,那么返回值就是原先元素相对于选择器匹配元素中的位置.如果找不到匹配的元素,则返回-1. 1 <ul> 2 <li id="foo">foo<

jQuery获取数组对象的值

在我们用jQuery开发的时候会遇到这样的情况,name有多个或者相似的name有多个.这时候我们需要获取其中某一个的值或者要分别获取他们的值,这时候我们可以用jQuery先获取一个对象数组,然后再获取其中的一个值.先把代码奉上: <html> <head> <meta charset="utf-8"/> <title>jQuery获取多个数组的值</title> <script src="../js/jque