Avatar billede Maria1973 Nybegynder
28. november 2010 - 15:06 Der er 4 kommentarer

Klasse projekt/boks

Hej eksperter,

Jeg er ved at lave et klasse projekt og er gået i stå.

Kort fortalt:

Fire klasser skal sendes til forskellige byer som er defineret på forhånd. Eleverne i hver klasse skal vælges tilfældigt. Jeg forstiller mig, at der er en boks med flere afkrydsningsmuligheder - vælg by - vælg klasse - vælg antal (hvor mange der skal afsted) - Når der er afkrydset skal der genereres en liste med byen og de elever der er valgt tilfældigt.

Jeg har forsøgt mig lidt frem med et navne generator script,  men er gået helt i stå? scriptet er her

<html>
<head>
<script type="text/javascript">
function pickStudent(classNumber){
// Tilføj elever til klassen
var class1 = ["adam","jens","mikkel","børge",
"pia","gitte"];
var class2 = ["jesper","morten","peter","lars","per"];
var class3 = ["kurt","mie","kim","ole","claus","max"];
var class4 = ["verner","ulrik","bistrup","majbrit","astrid","anita","bruno"];
// Random numbers are made
var randomNumber1 = parseInt(Math.random() * class1.length);
var randomNumber2 = parseInt(Math.random() * class2.length);
var randomNumber3 = parseInt(Math.random() * class3.length);
var randomNumber4 = parseInt(Math.random() * class4.length);
if(classNumber == 1 ){
var name = class1[randomNumber1];
}
if(classNumber == 2 ){
var name = class2[randomNumber2];
}
if(classNumber == 3 ){
var name = class3[randomNumber3];
}
if(classNumber == 4 ){
var name = class4[randomNumber4];
}
if(document.getElementById("result")){
document.getElementById("placeholder").removeChild(document.getElementById("result"));
}
var element = document.createElement("div");
element.setAttribute("id", "result");
element.appendChild(document.createTextNode(name));
document.getElementById("placeholder").appendChild(element);
}
function choose_student(){
// Tilføj nye byer til listen
var class_list = ["herning","ringe","københavn",
"gram","vejle","horsen","løkken"];
var randomNumber = parseInt(Math.random() * class_list.length);
var name = class_list[randomNumber];
if(document.getElementById("result")){
document.getElementById("placeholder").removeChild(document.getElementById("result"));
}
var element = document.createElement("div");
element.setAttribute("id", "result");
element.appendChild(document.createTextNode(name));
document.getElementById("placeholder").appendChild(element);
}
</script>
<style type="text/css">
body{font-family: arial, serif;}
#wrapper{border-left:1px solid #cccccc;border-right:1px solid #cccccc;margin:0 auto;padding: 0 20px;width: 700px}
#generator{background:#e9f3f6;border:1px solid #cccccc;margin:30px 0;font-size:28px;font-weight:bold;padding:50px 0 20px;text-align:center;-moz-border-radius: 5px;-webkit-border-radius: 5px;}
#generator input{font-size:16px;font-weight:normal;margin-top: 30px}
#footer{font-size: 10px; color: #999; margin: 30px 0 0 0;}
#footer a{color:#999}
</style>
</head>
<body>
<div id="wrapper">
<div id="generator" >
<div id="placeholder"></div>
<input type="button" value="6.klasse" onclick="pickStudent(1)" />
<input type="button" value="7.klasse" onclick="pickStudent(2)" />
<input type="button" value="8.klasse" onclick="pickStudent(3)" />
<input type="button" value="9.klasse" onclick="pickStudent(4)" />
<input type="button" value="byer" onclick="choose_student()" />
</div>
<!-- The footer. Place any contact info ect here.-->
<div id="footer">
<p>This generator is developed with help from the <a href="http://online-generator.com">online name generators</a>.
</p>
</div>
</div>
</body>
</html>
Avatar billede werd Nybegynder
28. november 2010 - 16:23 #1
Hej,

Jeg ved ikke hvor god du er til javascript, men er det noget i den retning - knappen "6 klasse" er bundet til et statisk kald til metoden:

<html>
<head>
<script type="text/javascript">
// Tilføj elever til klassen
var classes = new Array(4);
classes[0] = ["adam","jens","mikkel","børge","pia","gitte"];
classes[1] = ["jesper","morten","peter","lars","per"];
classes[2] = ["kurt","mie","kim","ole","claus","max"];
classes[3] = ["verner","ulrik","bistrup","majbrit","astrid","anita","bruno"];
// Tilføj nye byer til listen
var class_list = ["herning","ringe","københavn","gram","vejle","horsen","løkken"];
var assignments = new Array(class_list.size);

function getRandom(max) {
    return parseInt(Math.random() * max);
}

function pickStudents(classNumber, numberOfKids){

// Se om klassenummeret eksisterer og om antallet af elever der skal trækkes ud er mindre end eller lig med antallet der skal trækkes
if (classNumber<classes.length&&numberOfKids<=classes[classNumber].length) {
    assignments[classNumber] = new Array(numberOfKids);
    for (var i=0;i<assignments[classNumber].length;i++) {
        var randomStudent = getRandom(classes[classNumber].length);
        // Løb gennem allerede valgte elever og check om personen har været der
        for (var j=0;j<assignments[classNumber].length;j++) {
            if (assignments[classNumber][j]==randomStudent) {
                // Vælg ny studerende of prøv igen - bemærk at for at sikre køretiden vælger den ikke tilfældigt men bare den næste indtil den finder en
                randomStudent=++randomStudent%classes[classNumber].length;
                j=-1;
            }
        }
        // Person er fundet og indsættes på i'te plads:
        assignments[classNumber][i]=randomStudent;
    }
}

// Presentation
if(document.getElementById("result")){
document.getElementById("placeholder").removeChild(document.getElementById("result"));
}
var element = document.createElement("div");
element.setAttribute("id", "result");
var liste = document.createElement("ul");
element.appendChild(liste);
for (var i=0; i<assignments[classNumber].length;i++) {
    var listelement = document.createElement("li");
    var navn = classes[classNumber][assignments[classNumber][i]];
    listelement.appendChild(document.createTextNode(navn));
    liste.appendChild(listelement);
}
document.getElementById("placeholder").appendChild(element);
}

function choose_student(){

var randomNumber = parseInt(Math.random() * class_list.length);
var name = class_list[randomNumber];
if(document.getElementById("result")){
document.getElementById("placeholder").removeChild(document.getElementById("result"));
}
var element = document.createElement("div");
element.setAttribute("id", "result");
element.appendChild(document.createTextNode(name));
document.getElementById("placeholder").appendChild(element);
}
</script>
<style type="text/css">
body{font-family: arial, serif;}
#wrapper{border-left:1px solid #cccccc;border-right:1px solid #cccccc;margin:0 auto;padding: 0 20px;width: 700px}
#generator{background:#e9f3f6;border:1px solid #cccccc;margin:30px 0;font-size:28px;font-weight:bold;padding:50px 0 20px;text-align:center;-moz-border-radius: 5px;-webkit-border-radius: 5px;}
#generator input{font-size:16px;font-weight:normal;margin-top: 30px}
#footer{font-size: 10px; color: #999; margin: 30px 0 0 0;}
#footer a{color:#999}
</style>
</head>
<body>
<div id="wrapper">
<div id="generator" >
<div id="placeholder"></div>
<input type="button" value="6.klasse" onclick="pickStudents(1,3)" />
<input type="button" value="7.klasse" onclick="pickStudent(2)" />
<input type="button" value="8.klasse" onclick="pickStudent(3)" />
<input type="button" value="9.klasse" onclick="pickStudent(4)" />
<input type="button" value="byer" onclick="choose_student()" />
</div>
<!-- The footer. Place any contact info ect here.-->
<div id="footer">
<p>This generator is developed with help from the <a href="http://online-generator.com">online name generators</a>.
</p>
</div>
</div>
</body>
</html>
Avatar billede Maria1973 Nybegynder
28. november 2010 - 18:45 #2
Hej Werd,

Jeg er ikke særlig god til det. Men ja du er inde på noget af det rigtige, hvis du vil kigge på det og boksen vil jeg blive glad, jeg er ved helt at opgive:-(
Avatar billede werd Nybegynder
28. november 2010 - 20:49 #3
<html>
<head>
<script type="text/javascript">
// Tilføj elever til klassen
var classes = new Array(4);
classes[0] = ["adam","jens","mikkel","børge","pia","gitte"];
classes[1] = ["jesper","morten","peter","lars","per"];
classes[2] = ["kurt","mie","kim","ole","claus","max"];
classes[3] = ["verner","ulrik","bistrup","majbrit","astrid","anita","bruno"];
// Tilføj nye byer til listen
var class_list = ["herning","ringe","københavn","gram","vejle","horsen","løkken"];
var assignments = new Array(class_list.size);

function getRandom(max) {
    return parseInt(Math.random() * max);
}

function pickStudents(classNumber){
var numberOfKids = parseInt(document.formular.klasse.value);

// Se om klassenummeret eksisterer og om antallet af elever der skal trækkes ud er mindre end eller lig med antallet der skal trækkes
if (classNumber<classes.length&&numberOfKids<=classes[classNumber].length) {
    assignments[classNumber] = new Array(numberOfKids);
    for (var i=0;i<assignments[classNumber].length;i++) {
        var randomStudent = getRandom(classes[classNumber].length);
        // Løb gennem allerede valgte elever og check om personen har været der
        for (var j=0;j<assignments[classNumber].length;j++) {
            if (assignments[classNumber][j]==randomStudent) {
                // Vælg ny studerende of prøv igen - bemærk at for at sikre køretiden vælger den ikke tilfældigt men bare den næste indtil den finder en
                randomStudent=++randomStudent%classes[classNumber].length;
                j=-1;
            }
        }
        // Person er fundet og indsættes på i'te plads:
        assignments[classNumber][i]=randomStudent;
    }
}

// Presentation
if(document.getElementById("result")){
document.getElementById("placeholder").removeChild(document.getElementById("result"));
}
var element = document.createElement("div");
element.setAttribute("id", "result");
var liste = document.createElement("ul");
element.appendChild(liste);
for (var i=0; i<assignments[classNumber].length;i++) {
    var listelement = document.createElement("li");
    var navn = classes[classNumber][assignments[classNumber][i]];
    listelement.appendChild(document.createTextNode(navn));
    liste.appendChild(listelement);
}
document.getElementById("placeholder").appendChild(element);
}
</script>
<style type="text/css">
body{font-family: arial, serif;}
#wrapper{border-left:1px solid #cccccc;border-right:1px solid #cccccc;margin:0 auto;padding: 0 20px;width: 700px}
#generator{background:#e9f3f6;border:1px solid #cccccc;margin:30px 0;font-size:28px;font-weight:bold;padding:50px 0 20px;text-align:center;-moz-border-radius: 5px;-webkit-border-radius: 5px;}
#generator input{font-size:16px;font-weight:normal;margin-top: 30px}
#footer{font-size: 10px; color: #999; margin: 30px 0 0 0;}
#footer a{color:#999}
</style>
</head>
<body>
<div id="wrapper">
<div id="generator" >
<div id="placeholder"></div>
<form name="formular">
<input type="text" id="klasse" value="2" name="klasse" size="6" />
<input type="button" value="6.klasse" onclick="pickStudents(0)" />
<input type="button" value="7.klasse" onclick="pickStudents(1)" />
<input type="button" value="8.klasse" onclick="pickStudents(2)" />
<input type="button" value="9.klasse" onclick="pickStudents(3)" />
</div>
</form>
<!-- The footer. Place any contact info ect here.-->
<div id="footer">
<p>This generator is developed with help from the <a href="http://online-generator.com">online name generators</a>.
</p>
</div>
</div>
</body>
</html>
Avatar billede werd Nybegynder
29. november 2010 - 18:00 #4
Hvad med denne løsning?

<html>
<head>
<script type="text/javascript">
// Tilføj elever til klassen
var classes = new Array(4);
classes[0] = ["adam","jens","mikkel","børge","pia","gitte"];
classes[1] = ["jesper","morten","peter","lars","per"];
classes[2] = ["kurt","mie","kim","ole","claus","max"];
classes[3] = ["verner","ulrik","bistrup","majbrit","astrid","anita","bruno"];
// Tilføj nye byer til listen
var cities = ["herning","ringe","københavn","gram","vejle","horsen","løkken"];
var cityassignments = new Array(classes.size);
var assignments = new Array(classes.size);

function getRandom(max) {
    return parseInt(Math.random() * max);
}

function pickStudents() {
    var numberOfKids = eval(document.forms["formular"]["elever"].value);
    var classNumber = eval(document.forms["formular"]["klasse"].value);
    var sted = eval(document.forms["formular"]["by"].value);
    cityassignments[classNumber]=sted;
    //alert(classNumber+" "+numberOfKids+" "+sted);
   
    if (numberOfKids>classes[classNumber].length) {
        numberOfKids = classes[classNumber].length;
        alert("Der er kun "+classes[classNumber].length+" elever i klassen!");
    }
   
    // Se om klassenummeret eksisterer og om antallet af elever der skal trækkes ud er mindre end eller lig med antallet der skal trækkes
    assignments[sted] = new Array(numberOfKids);
    for (var i=0; i<assignments[sted].length; i++) {
        var randomStudent = getRandom(classes[classNumber].length);
        // Løb gennem allerede valgte elever og check om personen har været der
        for (var j=0;j<assignments[sted].length;j++) {
            if (assignments[sted][j]==randomStudent) {
                // Vælg ny studerende of prøv igen - bemærk at for at sikre køretiden vælger den ikke tilfældigt men bare den næste indtil den finder en
                randomStudent=(randomStudent+1)%classes[classNumber].length;
                j=-1;
            }
        }
        // Person er fundet og indsættes på i'te plads:
        assignments[sted][i]=randomStudent;
    }
    showStudents(sted);
}

function showStudents(sted) {
    // Presentation
    var classNumber = -1;
    for (var i=0;i<cityassignments.length;i++) {
        if (cityassignments[i]==sted) {
            classNumber = i;
        }
    }
    if(document.getElementById("result")){
        document.getElementById("placeholder").removeChild(document.getElementById("result"));
    }
    var element = document.createElement("div");
    element.setAttribute("id", "result");
   
    if (classNumber==-1) {
        element.innerHTML = "Ingen elever skal til "+cities[sted]+" endnu!";
        document.getElementById("placeholder").appendChild(element);
    } else {
        var liste = document.createElement("ul");
        element.appendChild(liste);
        for (var i=0; i<assignments[sted].length;i++) {
            var listelement = document.createElement("li");
            var navn = classes[classNumber][assignments[sted][i]];
            listelement.appendChild(document.createTextNode(navn));
            liste.appendChild(listelement);
        }
        document.getElementById("placeholder").appendChild(element);
    }
}
</script>
<style type="text/css">
body{font-family: arial, serif;}
#wrapper{margin:0 auto;padding: 0 20px;width: 700px}
#generator{background:#e9f3f6;border:1px solid #cccccc;margin:30px 0;font-size:28px;font-weight:bold;padding:5px 0 20px;text-align:center;-moz-border-radius: 5px;-webkit-border-radius: 5px;}
#generator input{font-size:16px;font-weight:normal;margin-top: 30px}
#footer{font-size: 10px; color: #999; margin: 30px 0 0 0;}
#footer a{color:#999}
#footer select {font-size:1em;}
input#elever {text-align:right; font-size:20px; font-weight:bold; border-width:0px; background-color:inherit; width:50px;}
#generator select {text-align:left; font-size:20px; font-weight:bold; border-width:0px; background-color:inherit;}
input#knap {width:90%; font-size:1.2em; background-color:inherit;}
form {font-size:20px;}
</style>
</head>
<body>
<div id="wrapper">
<div id="generator" >
<div id="formular">
<form name="formular" onsubmit="javacript:pickStudents();">
<input type="text" id="elever" value="2" name="elever" size="4" />
elever fra
<select name="klasse">
<option value="0">6.klasse</option>
<option value="1">7.klasse</option>
<option value="2">8.klasse</option>
<option value="3">9.klasse</option>
</select>
skal til
<select name="by">
<option value="0">herning</option>
<option value="1">ringe</option>
<option value="2">københavn</option>
<option value="3">gram</option>
<option value="4">vejle</option>
<option value="5">horsen</option>
<option value="6">løkken</option>
</select><br />
<input type="button" id="knap" value="Vælg elever" onclick="java script:pickStudents();">
</form>
</div>
<div id="placeholder"></div>
</div>
<div id="footer">
<span>Se valgte elever for turen til:
<select name="valg" onChange="showStudents(this.value)">
<option value="0">herning</option>
<option value="1">ringe</option>
<option value="2">københavn</option>
<option value="3">gram</option>
<option value="4">vejle</option>
<option value="5">horsen</option>
<option value="6">løkken</option>
</select>
</span>
</div>
</div>
</body>
</html>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester