用jquery获取多组checkbox的值

有多道选择题,用了checkbox的按钮来获取用户选择的答案,但是因为题目是随机抽取的,不能按照id来获取用户的答案varchk_value=[];$('input:ch... 有多道选择题,用了checkbox的按钮来获取用户选择的答案,但是因为题目是随机抽取的,不能按照id来获取用户的答案
var chk_value =[];
$('input:checkbox:checked').each(function(){
chk_value.push($(this).val());
});
alert(chk_value.length==0 ?'你还没有选择任何内容!':chk_value);
但是这样写的话,能获取所有的选择,但是不能区分开每道题选的答案各为多少,有什么方法可以获得每道题的答案吗?
展开
 我来答
帐号已注销
推荐于2016-11-28 · TA获得超过1232个赞
知道大有可为答主
回答量:1245
采纳率:0%
帮助的人:1427万
展开全部

<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>


更多追问追答
追问

我是把选项放在template里作为模板输出的,这样子的情况<ul>和<li>要怎么添加呢

追答
我只是写个例子给你 告诉你思路 ul li标签是可以换成别的标签的 你这个模板的话 无非就是$('tr.qitem td').each(function(){ 就可以了
wangyi1177
2013-07-18 · TA获得超过160个赞
知道答主
回答量:89
采纳率:0%
帮助的人:71.5万
展开全部
  1. 服务器在选择题目的时候把用户的session记下,以session号匹配一个内建的选择题ID列表,这样ID就不会进入客户端而泄露。

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

追问
我这个是不需要提交到服务器的,只需要取值就可以了,有什么方法区分吗?
追答
如果是动态页面,可以由服务器将正确答案储存在客户段的JS数组里。选择完后直接由客户端比对选择的checkbox编号是不是数组里的。
如果是静态页面,方法也差不多,就是将服务器抽取的过程迁移到客户端,当然不是很安全。抽取后算出正确答案的数组。填完后比对。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式