日期:2014-05-16  浏览次数:20351 次

请教jquery获取单选按钮的NAME和选择值
准备做一个在线测试的系统,

第一题
<span>本题答案:</span>
<ul>
<li><input name="Q1" type="radio" value="1" />A</li>
<li><input name="Q1" type="radio" value="2" />B</li>
<li><input name="Q1" type="radio" value="3" />C</li>
<li><input name="Q1" type="radio" value="4" />D</li>
</ul>
第二题
<span>本题答案:</span>
<ul>
<li><input name="Q2" type="radio" value="1" />A</li>
<li><input name="Q2" type="radio" value="2" />B</li>
<li><input name="Q2" type="radio" value="3" />C</li>
<li><input name="Q2" type="radio" value="4" />D</li>
</ul>

第三题
<span>本题答案:</span>
<ul>
<li><input name="Q4" type="radio" value="1" />A</li>
<li><input name="Q4" type="radio" value="2" />B</li>
<li><input name="Q4" type="radio" value="3" />C</li>
<li><input name="Q4" type="radio" value="4" />D</li>
</ul>

等等,全是单选按钮,想点击了提交按钮后,如何通过jquery先获得input的name,不连续,再获得用户选择的值,最后生成如下:
12|22|42(三题全选的是2)这样一串数字发回数据库处理,求教
谢谢

------解决方案--------------------
不建议使用这样的自定义格式,按照要求的解决方式(假定有个id为"btn"的按钮)
JScript code
$(document).ready(function () {
    var arr = [];
    $('#btn').click(function () {
        $(':radio:checked').each(function () {
            arr.push($(this).attr('name').slice(1) + $(this).val());
        });
        alert(arr.join('|'));
    });
});