用jquery获取多组checkbox的值

发布网友

我来回答

2个回答

热心网友

<html >
<head>
<title>demo</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<div>
    <ul>
        <li>1.
            <input type="checkbox" name="s1" id="" checked value="1">1
            <input type="checkbox" name="s1" id="" value="2">2
            <input type="checkbox" name="s1" id="" value="3">3
            <input type="checkbox" name="s1" id="" value="4" checked>4
        </li>
        <li>2.
            <input type="checkbox" name="s2" id="" value="1" checked>1
            <input type="checkbox" name="s2" id="" value="2" checked>2
            <input type="checkbox" name="s2" id="" value="3" checked>3
            <input type="checkbox" name="s2" id="" value="4" checked>4
        </li>
        <li>3.
            <input type="checkbox" name="s3" id="" value="1">1
            <input type="checkbox" name="s3" id="" checked value="2">2
            <input type="checkbox" name="s3" id="" value="3">3
            <input type="checkbox" name="s3" id="" value="4">4
        </li>        
    </ul>
</div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

<script>
  

 $(function(){
        var chk_value =[];
        $('ul li').each(function(){
            var str=[];        
             $(this).find(':checkbox:checked').each(function(){                 
                str.push(this.value);
             });
             chk_value.push(str)
         });
         
         
         for(var i=0;i<chk_value.length;i++){
            alert(i+":"+chk_value[i].join(","));
        }
         
         
    })

</script>
</body>
</html>


热心网友

服务器在选择题目的时候把用户的session记下,以session号匹配一个内建的选择题ID列表,这样ID就不会进入客户端而泄露。

客户端生成很多checkbox,提交时$('input.checkbox'),把客户端的数组编号记下,可以省一点流量还能多选。提交到服务器端后处理就很简单了。

追问我这个是不需要提交到服务器的,只需要取值就可以了,有什么方法区分吗?

追答如果是动态页面,可以由服务器将正确答案储存在客户段的JS数组里。选择完后直接由客户端比对选择的checkbox编号是不是数组里的。
如果是静态页面,方法也差不多,就是将服务器抽取的过程迁移到客户端,当然不是很安全。抽取后算出正确答案的数组。填完后比对。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com