2011-01-17 13 views
0

HallojQuery Berechnung & Auswahl

Ich versuche, jQuery zu lernen, hat mir ein paar Bücher: jQuery vom Anfänger zum Ninja. Versuche so viel wie möglich zu lernen.

Ich versuche, eine kleine Berechnungs-App zu machen, die den Verdienst von Grundschülern berechnet.

In dem Sinne, dass Studenten eine Bewertung von 18 Thema wählen werden, aber zwei werden entfernt. Man kann zwischen vier verschiedenen Noten wählen.

keine Bewertung, Sie erhalten: Null Punkte. A: Sie erhalten 20 Punkte. B: Sie erhalten 15 Punkte. C: Sie erhalten 10 Punkte.

der Algorithmus: Wenn ein Schüler zu 15 A erhält und drei weitere C es so zählen, wie folgt: 15 x 20 = 300 Punkte 3 x 10 = 30 Punkte. Insgesamt 18 Thema = 330 Punkte. Zwei der kleinsten Werte müssen jedoch entfernt werden, damit sie korrekt sind. Also zwei der C-Bewertung. Also dann, Bewertung: 15 x 20 = 300 Punkte 3 x 10 = 30 Punkte - 2 x der Mindestpunktzahl = 2 x 10 = 20 Punkte. Die endgültige Antwort lautet = 310 Punkte.

Ich weiß nicht wirklich, wie ich fortfahren soll, alle Radioboxen auszuwählen und Berechnungen durchzuführen. Wie soll ich darüber nachdenken und wie soll ich vorgehen?

Ich habe mit etwas HTML-Code geholfen, der ein bisschen schnell geschrieben wird, hoffe, dass Sie mit dem grundlegenden HTML-Code tragen.

<html> 
<head> 
<title>Merit rating</title> 
<script type='text/javascript' src='jquery-1.4.4.min.js'></script> 
<script type='text/javascript' src='script.js'></script> 
<link rel="stylesheet" href="test.css" type="text/css" media="screen" charset="utf-8" /> 
</head> 
<body> 
    <h1>Merit rating is the sum of the 16 best in your grades.</h1> 
    <p>A: 20 points</p> 
    <p>B: 15 points</p> 
    <p>C: 10 points</p> 
    <p>Not rated: 0 points</p> 

    <p><strong>The highest score you can get is 320 which means that it has Distinction in all subjects.</strong></p> 
    <p>Do you have 17 or 18 scores, you remove one or two of the worst grade, your meritis made up of your 16 best scores.</p> 

    <div id="Grade"> 
     <p><strong>Swedish:</strong> <input type="radio" name="radClass" value="20"/>A 
        <input type="radio" name="radClass" value="15"/>B 
        <input type="radio" name="radClass" value="10"/>C 
        <input type="radio" name="radClass" value="0"/>Not rated 
     </p> 
     <p><strong>English:</strong> <input type="radio" name="radClassEnglish" value="20"/>A 
        <input type="radio" name="radClassEnglish" value="15"/>B 
        <input type="radio" name="radClassEnglish" value="10"/>C 
        <input type="radio" name="radClassEnglish" value="0"/>Not rated 
     </p> 
     <p><strong>Mathematics:</strong> <input type="radio" name="radClass" value="20"/>A 
         <input type="radio" name="radClass" value="15"/>B 
         <input type="radio" name="radClass" value="10"/>C 
         <input type="radio" name="radClass" value="0"/>Not rated 
     </p> 
     <p><strong>Religion:</strong> <input type="radio" name="radClass" value="20"/>A 
         <input type="radio" name="radClass" value="15"/>B 
         <input type="radio" name="radClass" value="10"/>C 
         <input type="radio" name="radClass" value="0"/>Not rated 
     </p> 
     <p><strong>Social Studies:</strong> <input type="radio" name="radClass" value="20"/>A 
         <input type="radio" name="radClass" value="15"/>B 
         <input type="radio" name="radClass" value="10"/>C 
         <input type="radio" name="radClass" value="0"/>Not rated 
     </p> 
     <p><strong>History:</strong> <input type="radio" name="radClass" value="20"/>A 
         <input type="radio" name="radClass" value="15"/>B 
         <input type="radio" name="radClass" value="10"/>C 
         <input type="radio" name="radClass" value="0"/>Not rated 
     </p> 
     <p><strong>Geography:</strong> <input type="radio" name="radClass" value="20"/>A 
         <input type="radio" name="radClass" value="15"/>B 
         <input type="radio" name="radClass" value="10"/>C 
         <input type="radio" name="radClass" value="0"/>Not rated 
     </p> 
     <p><strong>Chemistry:</strong> <input type="radio" name="radClass" value="20"/>A 
         <input type="radio" name="radClass" value="15"/>B 
         <input type="radio" name="radClass" value="10"/>C 
         <input type="radio" name="radClass" value="0"/>Not rated 
     </p> 
     <p><strong>Physics:</strong> <input type="radio" name="radClass" value="20"/>A 
         <input type="radio" name="radClass" value="15"/>B 
         <input type="radio" name="radClass" value="10"/>C 
         <input type="radio" name="radClass" value="0"/>Not rated 
     </p> 
     <p><strong>Biology:</strong><input type="radio" name="radClass" value="20"/>A 
         <input type="radio" name="radClass" value="15"/>B 
         <input type="radio" name="radClass" value="10"/>C 
         <input type="radio" name="radClass" value="0"/>Not rated 
     </p> 
     <p><strong>Technology:</strong> <input type="radio" name="radClass" value="20"/>A 
         <input type="radio" name="radClass" value="15"/>B 
         <input type="radio" name="radClass" value="10"/>C 
         <input type="radio" name="radClass" value="0"/>Not rated 
     </p> 
     <p><strong>Picture class:</strong> <input type="radio" name="radClass" value="20"/>A 
         <input type="radio" name="radClass" value="15"/>B 
         <input type="radio" name="radClass" value="10"/>C 
         <input type="radio" name="radClass" value="0"/>Not rated 
     </p> 
     <p><strong>Home economics:</strong> <input type="radio" name="radClass" value="20"/>A 
         <input type="radio" name="radClass" value="15"/>B 
         <input type="radio" name="radClass" value="10"/>C 
         <input type="radio" name="radClass" value="0"/>Not rated 
     </p> 
     <p><strong>Music:</strong> <input type="radio" name="radClass" value="20"/>A 
         <input type="radio" name="radClass" value="15"/>B 
         <input type="radio" name="radClass" value="10"/>C 
         <input type="radio" name="radClass" value="0"/>Not rated 
     </p> 
     <p><strong>Sports and Health:</strong> <input type="radio" name="radClass" value="20"/>A 
         <input type="radio" name="radClass" value="15"/>B 
         <input type="radio" name="radClass" value="10"/>C 
         <input type="radio" name="radClass" value="0"/>Not rated 
     </p> 
     <p><strong>HandCraft:</strong> <input type="radio" name="radClass" value="20"/>A 
         <input type="radio" name="radClass" value="15"/>B 
         <input type="radio" name="radClass" value="10"/>C 
         <input type="radio" name="radClass" value="0"/>Not rated 
     </p> 
     <p><strong>Language:</strong> <input type="radio" name="radClass" value="20"/>A 
         <input type="radio" name="radClass" value="15"/>B 
         <input type="radio" name="radClass" value="10"/>C 
         <input type="radio" name="radClass" value="0"/>Not rated 
     </p> 
     <p><strong>Student Choice:</strong> <input type="radio" name="radClass" value="20"/>A 
         <input type="radio" name="radClass" value="15"/>B 
         <input type="radio" name="radClass" value="10"/>C 
         <input type="radio" name="radClass" value="0"/>Not rated 
     </p> 
     <input type="button" id="calcButton" value="Calculate"/><p id="answer"></p> 
    </div> 

</body> 
</html> 
+3

Zeigen Sie uns Ihren Code bis jetzt, entfernen Sie die Details, wie Ihre Anwendungen arbeiten, und fragen Sie speziell, was Sie Hilfe brauchen, IE Auswahl von Kontrollkästchen, Berechnung aus dem Array usw. – RobertPitt

+0

Sorry, ich bin neu hier .. aber ich habe Bearbeiten Sie den Code jetzt – SHUMA

Antwort

1

Live-Demo:http://jsfiddle.net/gx6TM/1/

$('#calcButton').click(function() { 
    var sum = 0, 
     arr = []; 

    // put the values into an array 
    $('input:radio:checked', '#Grade').each(function() { 
     var value = parseInt(this.value, 10); 
     if (!isNaN(value)) { arr.push(value); } 
    }); 

    // sort the array numerically and ascending 
    arr.sort(function(a, b) { 
     return a - b; 
    }); 

    // delete the first two array items (the lowest two scores) 
    arr = arr.slice(2); 

    // calculate the sum 
    for (var i = 0; i < arr.length; i++) { 
     sum += arr[i]; 
    } 

    // print the sum on the page 
    $('#answer').text(sum);  
}); 

Beachten Sie, dass Sie auch das Optionsfeld Namen gesetzt haben Attribute, so dass jede Optionsfeldgruppe einen eindeutigen Namen hat.

+0

Ich denke, Sie sollten diese Nullwerte auch zu entfernen, das heißt, wenn einer davon nicht bewertet ist. – Reigel

+0

@Reigel Sie meinen die Wert-Attribute der letzten Optionsfelder in jeder Zeile? –

+0

Vielen Dank Sime! Ich muss einige der Funktionen überprüfen, die Sie geschrieben haben, um den Code besser zu verstehen. ^^ – SHUMA