Προς το περιεχόμενο

javascript drop-down menu προβλημα


pioneer2

Προτεινόμενες αναρτήσεις

Δημοσ.

Εχω κάνει ένα drop down menu σε Javascipt.

 

<html>

<head>

<body bgcolor="blue">

<script language="javascript">

function addOption(selectbox,text,value )

{

var optn = document.createElement("OPTION");

optn.text = text;

optn.value = value;

selectbox.options.add(optn);

}

function addOption_list(selectbox){

var pin = new Array();

pin[1]="blabla";pin[2]="blabla"; //drop down menu edw

pin.sort();

 

for (var i=0; i < pin.length;++i){

 

addOption(document.drop_list.dd_menu, pin, pin);

}

}

 

 

</script>

</head>

 

<body onLoad="addOption_list()";>

<b>DROP DOWN MENU <p> Title </p></b>

<br><br>

<FORM name="drop_list" action="file://" method="POST" >

 

<SELECT NAME="Choose_From_Drop_Down_Menu" id="Choose_From_Drop_Down_Menu">

 

<Option value="" selected >Choose From Drop Down Menu</option>

</SELECT>

</form>

</body>

</td></tr></table><div>

 

Mεχρι εδώ όλα καλά, το drop down δουλεύει κλπ. Στη συνέχεια προσθετω ένα κουμπι,

και για κάθε τιμή που επiλέγεται απο το drop down menu, πρέπει να εμφανίζει σε alert ή όπου αλλού μια αντίστοιχη άλλη τιμή όταν καλείται η παρακάτω συνάρτηση do_button. Π.χ. όταν επιλέγω Intel να εμφανίζει το "Pentium", όταν επιλέγω AMD να εμφανίζει "Athlon" κ.ο.κ

(τυχαιο παράδειγμα)

 

Όμως, εμφανίζει συνέχεια το ίδιο και το ίδιο μήνυμα.

Τι έχω κανει λάθος?? Μπορεί να με διαφωτίσει κάποιος?

 

<script language="javascript">

var pin = new Array();

pin[0]="Intel";pin[1]="AMD"....ktl ktl

 

function do_button() // Edw h synarthsh pou kaleitai apo to button

{

for (var i=0; i < pin.length;i++)

{

if (pin=="Intel")

{

alert("Pentium");

break;

}

if (pin=="AMD")

alert("Athlon");

break;

}

}

</script>

<form>

<input type="button" value="OK"

onClick="do_button()">

</form>

</body>

</html>

 

Δε μου δουλεύει με τίποτα εμφανίζει σε ότι κι αν επιλέξω μόνο μια τιμή,

τι αλλο μπορώ να κάνω??Ηelp!!!!!

Δημοσ.

Η do_button συνάρτηση δεν κοιτάει πουθενά ποια είναι η επιλεγμένη τιμή του dropdownmenu σου. Ξεκινάει και διαβάζει τον πίνακα pin σε μία for loop. 

 

 

Δημοσ.

Η do_button συνάρτηση δεν κοιτάει πουθενά ποια είναι η επιλεγμένη τιμή του dropdownmenu σου. Ξεκινάει και διαβάζει τον πίνακα pin σε μία for loop. 

 

χμμμ.. το ξαναλές?

'Ενα παράδειγμα, κάτι?

Δημοσ.

Η συνάρτηση do_button δεν κοιτάει ποια τιμή έχει το dropdown σου. Δοκίμασε το εξής: (Δεν τον τσέκαρα τον κώδικα αλλά νομίζω μπορείς να καταλάβεις τι εννοώ)

 

>

function do_button() 
{
var myvalue = document.getElementById('Choose_From_Drop_Down_Menu').value; // Εδώ παίρνω την επιλεγμένη τιμή που έχει το dropdown μου.
if (myvalue=="Intel") // Εδώ κάνω τις συγκρίσεις μου
       alert("Pentium");
else if (myvalue=="AMD")
       alert("Athlon");
}


Δημοσ.

Η συνάρτηση do_button δεν κοιτάει ποια τιμή έχει το dropdown σου. Δοκίμασε το εξής: (Δεν τον τσέκαρα τον κώδικα αλλά νομίζω μπορείς να καταλάβεις τι εννοώ)

 

>

function do_button() 
{
var myvalue = document.getElementById('Choose_From_Drop_Down_Menu').value; // Εδώ παίρνω την επιλεγμένη τιμή που έχει το dropdown μου.
if (myvalue=="Intel") // Εδώ κάνω τις συγκρίσεις μου
       alert("Pentium");
else if (myvalue=="AMD")
       alert("Athlon");
}

 

Δυστυχώς δε δουλεύει, τώρα δεν εμφανίζει τίποτε.

Βαβούρα είναι και δυστυχώς δε ξέρω κάποιον άλλο τρόπο αν και δείχνει πολύ απλό!

Δημοσ.

Δοκίμασε το εξής:

 

>var myvalue = me.Choose_From_Drop_Down_Menu.options[me.Choose_From_Drop_Down_Menu.selectedIndex].value;

 

Αν δεν δουλέψει σου είναι εύκολο να επισυνάψεις ένα html με όλον τον κώδικα;

 

 

Δημοσ.

 Λοιπόν, εδώ είναι ο κώδικας (click on spoiler...) και δουλεύει καλά. Πάντως είχες πολλά συντακτικά λάθη στην html. Έκανα κάποιες διορθώσεις, π.χ. έκλεινες το <body> και μετά συνέχιζες με ένα <form>. Καλό θα ήταν να δουλέψεις με κάποιο IDE το οποίο θα σε βοηθήσει να γράψεις πιο γρήγορα κώδικα από τη μία, και από την άλλη να σου επισημάνει κάποια συντακτικά λάθη γιατί αν δουλεύεις π.χ. σε notepad είναι πολύ δύσκολο για τον οποιοδήποτε να γράψει σωστά. 

 

Αν θέλεις κάνε ένα search στο forum να δεις σχετικές συζητήσεις, υπάρχουν αρκετές. 

 

 

 

 

 

 

>

<html>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<head>
    <title>Drop down menu on Js</title>
    <body>
        <script type="text/javascript">
            function addOption(selectbox, text, value) {
                var optn = document.createElement("OPTION");
                optn.text = text;
                optn.value = value;
                selectbox.options.add(optn);
            }

            function addOption_list(selectbox) {
                var EU = new Array();
                EU[0] = "Italy"; EU[1] = "Luxembourg"; EU[2] = "Belgium"; EU[3] = "Brusseles"; EU[4] = "Denmark"; EU[5] = "FInland"; EU[6] = "France"; EU[7] = "Slovakia"; EU[8] = "Slovenia"; EU[9] = "Germany"; EU[10] = "Greece"; EU[11] = "Ireland"; EU[12] = "Netherlands"; EU[13] = "Portugal"; EU[14] = "Spain"; EU[15] = "Sweden"; EU[16] = "United Kingdom"; EU[17] = "Cyprus"; EU[18] = "Lithuania"; EU[19] = "Czech Republic"; EU[20] = "Estonia";
                EU[21] = "Hungary"; EU[22] = "Latvia"; EU[23] = "Malta"; EU[24] = "Austria"; EU[25] = "Poland";
                EU.sort();

                var my_ddl = document.getElementById('Choose_Country');
                for (var i = 0; i < EU.length; ++i) {
                    addOption(my_ddl, EU[i], EU[i]);
                }
            }

            function do_countries() {
                var my_ddl = document.getElementById('Choose_Country');
                var myvalue = my_ddl.options[my_ddl.selectedIndex].value;
                if (myvalue == "Italy")
                    alert("Pizza!");
                else if (myvalue == "Greece")
                    alert("Mouzaka!");
                else if (myvalue == "Belgium")
                    alert("Waffles!");
                else
                    alert("...");
            }
        </script>
</head>
<body onload="javascript:addOption_list();">
    <b>DROP DOWN MENU</b>
    <p>
        <b>Countries of the European Union</b>
    </p>
    <br />
    <br />
    <form name="drop_list" action="" method="post">
    <select name="Choose_Country" id="Choose_Country">
        <option value="" selected>Choose Country</option>
    </select>
    </form>
    <form action="">
    <input type="button" value="OK" onclick="javascript:do_countries();" />
    </form>
</body>
</html>


 

 

 

Δημοσ.

 Λοιπόν, εδώ είναι ο κώδικας (click on spoiler...) και δουλεύει καλά. Πάντως είχες πολλά συντακτικά λάθη στην html. Έκανα κάποιες διορθώσεις, π.χ. έκλεινες το <body> και μετά συνέχιζες με ένα <form>. Καλό θα ήταν να δουλέψεις με κάποιο IDE το οποίο θα σε βοηθήσει να γράψεις πιο γρήγορα κώδικα από τη μία, και από την άλλη να σου επισημάνει κάποια συντακτικά λάθη γιατί αν δουλεύεις π.χ. σε notepad είναι πολύ δύσκολο για τον οποιοδήποτε να γράψει σωστά. 

 

Αν θέλεις κάνε ένα search στο forum να δεις σχετικές συζητήσεις, υπάρχουν αρκετές. 

 

 

 

 

 

 

>

<html>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<head>
    <title>Drop down menu on Js</title>
    <body>
        <script type="text/javascript">
            function addOption(selectbox, text, value) {
                var optn = document.createElement("OPTION");
                optn.text = text;
                optn.value = value;
                selectbox.options.add(optn);
            }

            function addOption_list(selectbox) {
                var EU = new Array();
                EU[0] = "Italy"; EU[1] = "Luxembourg"; EU[2] = "Belgium"; EU[3] = "Brusseles"; EU[4] = "Denmark"; EU[5] = "FInland"; EU[6] = "France"; EU[7] = "Slovakia"; EU[8] = "Slovenia"; EU[9] = "Germany"; EU[10] = "Greece"; EU[11] = "Ireland"; EU[12] = "Netherlands"; EU[13] = "Portugal"; EU[14] = "Spain"; EU[15] = "Sweden"; EU[16] = "United Kingdom"; EU[17] = "Cyprus"; EU[18] = "Lithuania"; EU[19] = "Czech Republic"; EU[20] = "Estonia";
                EU[21] = "Hungary"; EU[22] = "Latvia"; EU[23] = "Malta"; EU[24] = "Austria"; EU[25] = "Poland";
                EU.sort();

                var my_ddl = document.getElementById('Choose_Country');
                for (var i = 0; i < EU.length; ++i) {
                    addOption(my_ddl, EU[i], EU[i]);
                }
            }

            function do_countries() {
                var my_ddl = document.getElementById('Choose_Country');
                var myvalue = my_ddl.options[my_ddl.selectedIndex].value;
                if (myvalue == "Italy")
                    alert("Pizza!");
                else if (myvalue == "Greece")
                    alert("Mouzaka!");
                else if (myvalue == "Belgium")
                    alert("Waffles!");
                else
                    alert("...");
            }
        </script>
</head>
<body onload="javascript:addOption_list();">
    <b>DROP DOWN MENU</b>
    <p>
        <b>Countries of the European Union</b>
    </p>
    <br />
    <br />
    <form name="drop_list" action="" method="post">
    <select name="Choose_Country" id="Choose_Country">
        <option value="" selected>Choose Country</option>
    </select>
    </form>
    <form action="">
    <input type="button" value="OK" onclick="javascript:do_countries();" />
    </form>
</body>
</html>


 

 

 

 

 

Ευχαριστώ παρα πολύ παλήκαρε, να είσαι πάντα καλά! Σου είμαι ευγνώμων που διέθεσες το χρόνο σου γι'αυτό.

IDE δε γνωρίζω για js, το codeblocks έχω για C, και λίγη java σε παράλληλα/κατανεμημένα συστήματα έχω κάνει στο NetBeans (δεν ξέρω αν υποστηρίζουν js/php και το "σωτήριο" ctrl+space!).

Είναι πάντως ωραίο να σε βοηθάνε να ΜΑΘΕΙΣ.

Τhanks και πάλι.

Δημοσ.

και λίγη java σε παράλληλα/κατανεμημένα συστήματα έχω κάνει στο NetBeans (δεν ξέρω αν υποστηρίζουν js/php και το "σωτήριο" ctrl+space!).

Tα υποστηρίζει κανονικότατα - απλά πρέπει να εγκαταστήσεις τα αντίστοιχα plugins. Για το ctrl+space δε ξέρω τι εννοείς...

Δημοσ.

Εγώ χρησιμοποιώ το Visual Studio, η express έκδοση που μάλλον σε ενδιαφέρει είναι το Visual Web Developer. Με βολεύει απίστευτα για να γράφω κώδικα. Υποστηρίζει html και javascript. Όπως επίσης μπορείς να βάλεις και intellisense και για jQuery!! 

 

Το ctrl+space ενεργοποιεί το intellisense. 

 

 

Δημοσ.

Tα υποστηρίζει κανονικότατα - απλά πρέπει να εγκαταστήσεις τα αντίστοιχα plugins. Για το ctrl+space δε ξέρω τι εννοείς...

 

ctrl+space που "μαντεύει"/προτείνει εντολές και δε χρειάζεται να γράφεις.

Θα δοκιμάσω plugins δεν το ηξερα!

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...