今天一个同事不太会多选框的取值和赋值的问题,我帮他解决了一下,不想自己想的朋友可以参考一下。

获取checkBox的值,checkBox的html如下

<input type="checkbox" value="1" name="sProblem">check1
<input type="checkbox" value="2" name="sProblem">check2
<input type="checkbox" value="3" name="sProblem">check3
<input type="checkbox" value="4" name="sProblem">check4

获取选中的checkbox的val,并合成为一个字符串以逗号隔开。

function getTheCheckBoxValue(){
        var test = $("input[name='sProblem']:checked");
        var checkBoxValue = ""; 
        test.each(function(){
            checkBoxValue1 += $(this).val()+",";
        })
        checkBoxValue = checkBoxValue.substring(0,checkBoxValue.length-1);
设置传过来的checkbox的值并选中。传过来的是1,2,3,说明选中的是value为1,2,3的三个checkbox。如果前面不是123这种数字,是其他的字符也是支持的。
    function setTheCheckBoxValue(){
    var checkBox = "1,2,3";
    var checkBoxArray = checkBox.split(",");
    for(var i=0;i<checkBoxArray.length;i++){
    $("input[name='sProblem']").each(function(){
    if($(this).val()==checkBoxArray[i]){
    $(this).attr("checked","checked");
    }
    })
    }
    }
设置的这个方法是有缺陷的,如果checkbox过多不建议用,可以将each换成for循环来代替,减少无用的循环。

转载于:https://www.cnblogs.com/Violety/p/9420161.html

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐