我有一个javascript页面,用户可以在其中回答问答游戏。
这些答案根据选择的内容而具有不同的值。

在游戏结束时,我想将这些值加起来并按最高到最低排序。

这是一个例子

type="radio" class="alcohol" name="alcohol1" value="0"

type="radio" class="alcohol" name="alcohol1" value="1"


我有多个班级,所以酒精是一种,抑郁是另一种
当用户提交答案时,我会将不同区域的值加起来,并希望按从高到低的顺序进行排序。

这是JSfiddle,所以您可以看到我的概念

http://jsfiddle.net/ETNDw/77/

谢谢您的帮助

最佳答案

试试这个代码

var answer = [
        ['depression', 0],
        ['alcohol', 0]
    ];

    $(document).ready(function () {
        $('input:radio').on('change', function () {
            var name = $(this).attr('class');
            var $depression_score = 0;
            $("." + name + ":checked").each(function () {
                $depression_score = $depression_score + parseInt($(this).val());
            });
            for (var i = 0; i < answer.length; i++) {
                if (answer[i][0] == name)
                    answer[i][1] = $depression_score;
            }
        });
        $('#mybutton').click(function () {
            tryClicked();
        });
    });
    function tryClicked() {
        answer.sort(function (a, b) {
            return b[1] - a[1];
        });
        for (var i = 0; i < answer.length; i++) {
            alert("GroupName " + answer[i][0] + " ,Mark " + answer[i][1]);
        }
    }

09-27 06:06