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

Javascript απορία


Anubis13

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

Δημοσ.

Θέλω να συμπληρωσω μια φορμα με drop down στοιχεία χώρες αυτόματα μέσω ενός script από το greasemonkey. Κάνω το εξής

 

var Country

Country = document.getElementById('countrySelect').getElementsByTagName("SPAN")[0].innerHTML

 

Και δεν δουλευει γιατι?

Δημοσ.

Η εντολή innerHTML δουλεύει ως εξής :

 

document.getElementById('countrySelect').innerHTML = "ΤΕΣΤ"

 

και πάει και βάζει το ΤΕΣΤ σε όποιο element έχει id = countrySelect

Το id θα πρέπει να είναι μοναδικό και χρησιμοποιείται συνήθως για td,div,span

 

Αντίστοιχα το getElementsByTagName("") συντάσεται ως εξής: document.getElementsByTagName("")

και πάει στο όνομα ενός element

π.χ. το document.getElementsByTagName("test").value θα μας γύρναγε την τιμή(value) που έχει το element με name = test

 

Τώρα εάν θες εσύ να φτιάξεις ένα drop down μέσω javascript υπάρχουν διάφοροι τρόποι

Ένας τρόπος είναι να

>
var mydropdown = "<select name='mydropdown'>";
mydropdown += "<option value='1'Value 1></option>";
mydropdown += "<option value='2'>Value 2</option>";
mydropdown += "<option value='3'>Value 3</option>";
mydropdown += "</select>";

document.getElementById("test").innerHTMML = mydropdown;

 

Ελπίζω να βοήθησα

Δημοσ.

Ωραιες οι επεξηγησεις σου. Εγω ομως δεν θελω να φτιαξω το δικο μου drop down menu αλλα να επιλεγεται αυτοματα η χωρα απο το menu χωρις να το επιλεξω εγω

Δημοσ.

Το property με όνομα selectedIndex είναι αυτό που θέλεις:

 

>
var i = 0;    // 0 για να επιλέξεις το πρώτο στοιχείο του dropdown, 1 για το 2ο κ.ο.κ.
document.getElementById('countrySelect').selectedIndex = i;

Δημοσ.

Αυτό που δεν ξέρω όμως είναι αν η αλλαγή του τρέχοντος index του dropdown programmatically παράγει ή όχι onchange event. Το οποίο μπορεί να παίζει ρόλο, μπορεί και όχι. Εξαρτάται από το αν υπάρχει (προφανώς δεν είναι απαραίτητο να υπάρχει) script που να εκτελείται στην περίπτωση onchange event.

Δημοσ.

Το δοκιμασα δεν δουλευει..επισης

getCountry("country", $("a[onclick*=country]").get(0));

hideCountries();

 

δεν δουλευει..δεν ξερω και αν ειναι σωστο/αποδεκτο απο greasemonkey

Δημοσ.

Δες λίγο το παρακάτω απλό παραδειγματάκι που σκάρωσα, όπου η χρήση του selectedIndex δουλεύει μια χαρά:

 

http://dl.dropbox.com/u/3123541/insomnia/select_plus_javascript_demo.html

 

 

Και ο αντίστοιχος κώδικας:

 

 

>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="el">
   <head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
       <title>Select + Javascript demo</title>
   </head>

   <body>
       <div>
           <select id="countrySelect">
               <option value="greece">Greece</option>
               <option value="uk">U.K.</option>
               <option value="usa">U.S.A.</option>
           </select>

           <input type="button" id="myButton" value="Change selected Option" style="width: 200px; height: 30px; font-size: 10pt;" onclick="
               var obj = document.getElementById('countrySelect');
               if(obj.selectedIndex == obj.length - 1)
                   obj.selectedIndex = 0;
               else
                   obj.selectedIndex++;
           " />

           <p>
               <a href="http://validator.w3.org">
                   <img src="http://www.w3.org/Icons/valid-xhtml11" alt="Valid XHTML 1.1" height="31" width="88" />
               </a>
           </p>
       </div>
   </body>

</html>

 

 

Δημοσ.

><div id="countrySelector" class="ssClosed"> 
<a href="#" id="countryClicker" onclick='showCountries(); return false;'><span class='si'>United States of America</span></a>
	div id="countryInner">
		<a href="#" onclick='selectCountry("US", this); return false;'><span class='si'>United States of America (USA)</span></a>    

 

Η συγκεκριμενη σελιδα ειναι φτιααγμενη ετσι..

Προφανώς και δουλευει απλα δεν δουλευει στην δικια μου περιπτωση

Δημοσ.

Υπάρχει κάπου online η σελίδα αυτή για να την δούμε; Γιατί από το απόσπασμα κώδικα που δίνεις δε μπορεί σε καμία περίπτωση να βγει άκρη καθώς, πέραν του ότι λείπει ο κώδικας των συναρτήσεων showCountries και selectCountry, δεν υπάρχει καν αναφορά στο HTML element που υλοποιεί το drop-down.

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

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

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