Quote Originariamente inviata da autsel Visualizza il messaggio
Il problema è sia in php che in javascript.

Innanzitutto è decisamente errato assegnare un id alla tabella in quel modo perché avresti tante tabelle con lo stesso id ed una delle regole principali sull'assegnazione degli id è che NON ci devono essere duplicati, per cui devi assegnare id diversi ad ogni tabella.
Lo puoi fare con un contatore php, incrementandolo ongli cliclo per assegnare id diversi

esempio :
Codice PHP:
print '<table id="mytable'.$contatore.' ">'
Le tabelle avranno perciò id differenti: mytable0, mytable1, mytable2 ecc....

In secondo luogo, non puoi chiamare semplicemente una funzione espandi() di javascript, ma dovrai chiamare espandi(0), espandi(1).... eccc....
Lo puoi fare sempre nel ciclo php utilizzando il medesimo contatore.

Nella funzione

function espandi(id) { }

utilizzerai l'id per selezionare l'elemento che ti serve.

Ciao

ciao autsel, grazie mille per l'aiuto.
a livello logico ho capito il ragionamento, l'id contiene una variabile che viene abbinata ad un ciclo. richiamando quell'id, javascript mi permette di interagire sulla singola tabella.

purtroppo però a livello di codice non sto facendo progressi, anzi!

iniziamo dallo script javascript. se ho capito bene devo richiamare l'id in questo modo:

codice:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.js"></script>
<script type='text/javascript'>//<![CDATA[
 $(document).ready(function (id) {
        $(".expand").click(function (id) {
            $("#mytable tbody").show("slow");
        });
        $(".collapse").click(function (id) {
            $("#mytable tbody").hide("fast");
        });
    });


</script>
non dovrei anche richiamare mytable in
codice:
$("#mytable tbody").show("slow");
?

perché se imposto che
Codice PHP:
print '<table id="mytable'.$contatore.' ">'
allora dovrei reimpostare
codice:
$("#mytable tbody").show("slow");
sicuramente mi sbaglio, perché dai test non riesco a farlo funzionare...