0

私のフォームの5つの質問すべてに対して、要素が真の場合の条件の数を取得するにはどうすればよいですか....

        var count1 = 0, 
            a1 = $('form[name="myForm"]').find('select[name=drop1]').val(),
            a2 = $('form[name="myForm"]').find('select[name=drop2]').val(),
            a3 = $('form[name="myForm"]').find('select[name=drop3]').val(),
            a4 = $('form[name="myForm"]').find('select[name=drop4]').val(),
            a5 = $('form[name="myForm"]').find('select[name=drop5]').val();



for(i=1;i<=6;i++)
{
    switch(a[i])
             {
            case "2":
                alert("right");
                count++;
            break;
            case "1":
                alert("wrong");

            break;
            case "3":
                alert("wrong");

            break;
            case "4":
                alert("wrong");

            break;
            default:
                alert("wrong");
        }

}

すべてのオプションがtrueに設定されている場合にスコアを取得するのを手伝ってください(2つのオプション)......

4

1 に答える 1

1
var trueAnswers = 0;
$('form[name="myForm"] select[name^=drop]').each(function() {
  if (!!$(this).val()) trueAnswers++;
});

if (2 === trueAnswers) {
    alert('right');
}

または単に使用するfilter()

var trueAnswers = $('form[name="myForm"] select[name^=drop]').filter(function() {
   return (!!$(this).val()) 
});

if (trueAnswers.length === 2) {
   alert('right');
}
于 2012-09-26T09:40:19.833 に答える