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

请教:这种ajax单选计算分数的功能如何实现??


具体详见(不是广告。。。。):http://www.aihuishou.com/product?productId=8062


是当所有单选按钮选中后,才计算出分数,改变选项,分数也随之变化(各项评分也是)

请问这个技术叫什么??或者有没有相关案例或代码之类的??

这个应该用的是jq+ajax。我对jq+ajax不是很熟悉,单一的判断用户名的倒是能做,但是这种很多个即时计算的就不会了

是不是每个单选按钮都得加上事件?

思路是什么??该如何做??

多谢了!!



------解决方案--------------------
简单弄了个,自己对照改,value存储分数,多少自己定义,评价什么的自己根据分数和选择的项目分数瞎掰就好了


HTML code
<form name="frmScore">
<table>
<tr><td><b>1.拍照功能</b></td></tr>
<tr><td><input type="radio" value="10" name="g0"/>拍照正常,照相成像良好  <input type="radio" value="1" name="g0"/>照相有坏点或成像较差</td></tr>
<tr><td><b>2.屏幕</b></td></tr>
<tr><td><input type="radio" value="10" name="g1"/>屏幕无亮(坏)点及划痕  <input type="radio" value="1" name="g1"/>屏幕有亮(坏)点及划痕</td></tr>

<tr><td><b>3.发票及报修</b></td></tr>
<tr><td><input type="radio" value="10" name="g2"/>有发票且在保修期内  <input type="radio" value="1" name="g2"/>无发票或者不在保修期内</td></tr>
<tr><td><b>4.成色</b></td></tr>
<tr><td><input type="radio" value="2" name="g3"/>7成新以下
<br /><input type="radio" value="9" name="g3"/>9.5成新以上
<br /><input type="radio" value="7" name="g3"/>8-9成新
<br /><input type="radio" value="5" name="g3"/>7-8成新</td></tr>
<tr><td><b>5.配套附件</b></td></tr>
<tr><td><input type="radio" value="10" name="g4"/>附件齐全  <input type="radio" value="1" name="g4"/>附件不全</td></tr>

<tr><td>评分:<label style="color:Red" id="lbScore">NaN</label></td></tr>
</table></form>
<script>
    window.onload = function () {
        var f = document.frmScore, i = 0, j = 0, k = 0, g = 4, ok = false, score = 0;
        for (j = f.elements.length; i < j; i++) f.elements[i].onclick = function () {//注册事件
            score = 0;
            for (i = 0; i <= g; i++) { //验证所有项目是否都已经选择
                ok = false;
                for (j = 0, k = f['g' + i].length; j < k; j++) {//验证当前项目是否已经选择其中一项
                    if (f['g' + i][j].checked) { score += parseInt(f['g' + i][j].value, 10); ok = true; break; }
                }
                if (!ok) return; //有项目未选则退出
            }
            document.getElementById('lbScore').innerHTML = score;/////
        }
    }
</script>