使代码段更有效率

时间:2015-08-22 09:44:56

标签: jquery performance

所以...我在这里有这个代码我正在使用测验,我想知道我是否可以使它更有效...我想要的代码如果可能的话,我希望代码更短。如果您有什么建议请告诉我!

$("#done").click(function(){
            var c1 = 0,c2 = 0,c3 = 0;
            switch ($("input[name='question1']:checked").val()){
                case 1: c1++;
                break;
                case 2: c2++;
                break;
                case 3: c3++;
            }

            //repeats 6 times with the number of the question incremented every time
           switch ($("input[name='question8']:checked").val()){
                case 1: c1++;
                break;
                case 2: c2++;
                break;
                case 3: c3++;
            }

         });

1 个答案:

答案 0 :(得分:1)

您可以随时使用$.each()迭代所有问题,并根据^(以词开头)问题选择您的输入名称

$("#done").click(function(){
    var c1 = 0,c2 = 0,c3 = 0;
    $('input[name^=question]:checked').each(function(){
       switch(parseInt($(this).val())){
            case 1: c1++;break;
            case 2: c2++;break;
            case 3: c3++;break;
       }
    });
    console.log(c1 + " " + c2 + " " + c3);
});

编辑2 :添加了一个parseInt,因为我们的案例变量正在等待数字