您现在的位置:首页 >> JS&Jq >> 内容

jQuery 获取多选框值以及多选框文字的函数实践

时间:2016-5-18 10:42:01 点击:

  核心提示:前言本方法是我刚在项目中用的方法.可能有更加好的方法.但我不清楚.搜索了几个方法,好像都有错误,不知道是别人的错误,还是我的错误.因此,我自己构造了以下方法,便于我在实践中使用.分享出来,有谬误请大家...

前言

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

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

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

DOM结构

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<code class="language-html hljs "><label class="input_checkbox">
    <input data-cke-saved-name="sell_area" name="sell_area" type="checkbox" vlaue="0" data-cke-editable="1" contenteditable="false">
    <span>甘肃</span>
</label>
<label class="input_checkbox">
    <input data-cke-saved-name="sell_area" name="sell_area" type="checkbox" vlaue="1" data-cke-editable="1" contenteditable="false">
    <span>青海</span>
</label>
<label class="input_checkbox">
    <input data-cke-saved-name="sell_area" name="sell_area" type="checkbox" vlaue="2" data-cke-editable="1" contenteditable="false">
    <span>陕西</span>
</label>
<label class="input_checkbox">
    <input data-cke-saved-name="sell_area" name="sell_area" type="checkbox" vlaue="3" data-cke-editable="1" contenteditable="false">
    <span>宁夏</span>
</label></code>

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

 

JS代码

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

?
1
2
3
4
5
6
7
<code class="language-javascript hljs ">function returnCheckboxVal(name){
    var data="";
    $('input:checkbox[name="'+name+'"]:checked').each(function(){
        data += $(this).attr("vlaue")+",";
    });
    return data.substring(0,data.length-1);
}</code>

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

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

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

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

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

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

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

?
1
2
3
4
5
6
7
<code class="language-javascript hljs ">function returnCheckboxItem(name){
    var data="";
    $('input:checkbox[name="'+name+'"]:checked').each(function(){
        data += $(this).siblings('span').html()+",";
    });
    return data.substring(0,data.length-1);
}</code>

总结

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

作者:不详 来源:网络
共有评论 0相关评论
发表我的评论
  • 大名:
  • 内容:
  • 青春网络编程技术(www.qcfupo.com) © 2020 版权所有 All Rights Reserved.
  • Powered by qcfupo! V3.0sp1
  • 百度友情链接: 百家乐[www.chinawestnews.net/aomenbaijiale/] 赌博网[www.chinawestnews.net/amdbwz/] 海立方[www.bjl.gov.cn/bjgylc/] 娱乐城[www.gtxrmzf.gov.cn/mapai/] 娱乐城[www.hfsf.gov.cn/yfgj/] 威尼斯人[www.hllinkou.gov.cn/baijile/] 澳门威尼斯[www.jjwgj.gov.cn/wnsr/] 888真人[www.lagm.gov.cn/888zhenren/] 百乐坊[www.laoling.gov.cn/blfylc/] 现金网[www.longyu.gov.cn/xjw/] 百家乐[www.chinawestnews.net/ambjl/] 新葡京娱乐场[www.sjzedu.gov.cn/jsylc/] 时时彩[www.snjw.gov.cn/ssc/] 赌博[www.chinawestnews.net/aomendubo/]