Πέρασμα στοιχείων ενός πίνακα ως παράμετροι σε συνάρτηση

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
Christianago
Δημοσιεύσεις: 332
Εγγραφή: 12 Νοέμ 2009 13:36

Πέρασμα στοιχείων ενός πίνακα ως παράμετροι σε συνάρτηση

Δημοσίευση από Christianago » 31 Μάιος 2011 22:24

Εχω κατι σαν κι αυτο:

Κώδικας: Επιλογή όλων

for &#40;var i = 1; i < 11; i++&#41;&#123;
ids&#91;i&#93; = i;
document.getElementById&#40;ids&#91;i&#93;&#41;.onclick = function &#40;&#41;&#123; Highlight&#40;ids&#91;i&#93;&#41; &#125;;
&#125;
Δημιουργω δυναμικα συναρτησεις για καθε στοιχειο στον κωδικα html.
Φυσικα ο παραπανω κωδικας δεν δουλευει γιατι το
Highlight(ids) ειναι λαθος γιατι δεν ειναι ο σωστος τροπος
να περασω στοιχεια ενος πινακα σε συναρτηση.
Πως μπορω να κανω κατι τετοιο; Δοκιμασα επισης:

Κώδικας: Επιλογή όλων

for &#40;var i = 1; i < 11; i++&#41;&#123;
document.getElementById&#40;ids&#91;i&#93;&#41;.onclick = function &#40;&#41;&#123; Highlight&#40;i&#41; &#125;;
&#125;
το οποιο φυσικα και δουλευει λαθος γιατι η συναρτηση Highlight δεχεται ως ορισμα την τελευταια τιμη του i,
ενω εγω θελω να φτιαξω 10 συναρτησεις Highlight με καθεμια να εχει και διαφορετικο ορισμα. Ευχαριστω.
Τελευταία επεξεργασία από το μέλος Christianago την 31 Μάιος 2011 22:27, έχει επεξεργασθεί 1 φορά συνολικά.

Άβαταρ μέλους
burnmind
Script Master
Δημοσιεύσεις: 954
Εγγραφή: 26 Σεπ 2009 02:14
Τοποθεσία: UK
Επικοινωνία:

Πέρασμα στοιχείων ενός πίνακα ως παράμετροι σε συνάρτηση

Δημοσίευση από burnmind » 01 Ιουν 2011 03:14

Το διάβασα στα πολύ γρήγορα και δεν είμαι σίγουρος πως κατάλαβα τι ακριβώς θέλεις να κάνεις, αλλά για να περάσεις τα στοιχεία ενός Array σε μία function κάνε το εξής:

Κώδικας: Επιλογή όλων

	
var ids = new Array&#40;&#41;;
for &#40;var i = 0; i < 10; i++&#41;
&#123; 
    ids&#91;i&#93; = i; 
&#125;

highlight&#40;ids&#41;;

function highlight&#40;sth&#41;
&#123;
   alert&#40;sth&#41;;
&#125;

Άβαταρ μέλους
Christianago
Δημοσιεύσεις: 332
Εγγραφή: 12 Νοέμ 2009 13:36

Πέρασμα στοιχείων ενός πίνακα ως παράμετροι σε συνάρτηση

Δημοσίευση από Christianago » 01 Ιουν 2011 15:44

highlight(ids);
Με αυτον τον τροπο η συναρτηση highlight θα παρει ολα τα index της for λουπας;

Άβαταρ μέλους
burnmind
Script Master
Δημοσιεύσεις: 954
Εγγραφή: 26 Σεπ 2009 02:14
Τοποθεσία: UK
Επικοινωνία:

Πέρασμα στοιχείων ενός πίνακα ως παράμετροι σε συνάρτηση

Δημοσίευση από burnmind » 01 Ιουν 2011 15:58

Το ids είναι ένας πίνακας (array) που περιέχει τα νούμερα από 0 ως 9, στα αντίστοιχα κλειδιά του. Η highlight θα πάρει ολόκληρο τον πίνακα ώστε να τον κάνει ό,τι θέλει.

Άβαταρ μέλους
fuzzy_chris
Δημοσιεύσεις: 3
Εγγραφή: 16 Απρ 2009 13:57
Τοποθεσία: Αργυρούπολη, Αθήνα
Επικοινωνία:

Πέρασμα στοιχείων ενός πίνακα ως παράμετροι σε συνάρτηση

Δημοσίευση από fuzzy_chris » 02 Ιουν 2011 11:07

Για δοκίμασε το παρακάτω, περνάει το id του κλικαρισμένου element στην συνάρτηση Highlight και μετά το κάνεις ότι θέλεις. Δοκιμασμένο σε FF, Chrome & IE7

Κώδικας: Επιλογή όλων

<html>
<body>
<div id="1"> test1</div>
<div id="2"> test2</div>
<script>
function Highlight&#40;elementId&#41; &#123; 
	alert&#40;elementId&#41;; 
	el = document.getElementById&#40;elementId&#41;;   // and do what ever you want with the element 
&#125; 
var ids = new Array&#40;&#41;; 
for &#40;var i = 1; i < 3; i++&#41; &#123; 
	ids&#91;i&#93; = i; 
	document.getElementById&#40;ids&#91;i&#93;&#41;.onclick = function &#40;&#41;&#123; 
		Highlight&#40;this.id&#41;
	&#125;; 
&#125;
</script>
</body>
</html>

Άβαταρ μέλους
Christianago
Δημοσιεύσεις: 332
Εγγραφή: 12 Νοέμ 2009 13:36

Πέρασμα στοιχείων ενός πίνακα ως παράμετροι σε συνάρτηση

Δημοσίευση από Christianago » 02 Ιουν 2011 12:52

Σε FF και IE9 που εχω επιασε. Ευχαριστω!

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης