43 messaggi dal 06 agosto 2010
Ciao ragazzi.

Ho un problema con uncontrollo repeater.

Nel momento in cui faccio il binding, viene scatenato l'evento ItemDatabound che crea n righe a seconda dei dati nel datasource.

In ogni riga ho dichiarato una tabella ed un tasto html a cui ho associato la seguente funzione:

function ShowHidehowHideOreAssenze_INS() {
var dv_gestioneAssenze_INS = $get("dv_gestioneAssenze_INS");
dv_gestioneAssenze_INS.style.display = (dv_gestioneAssenze_INS.style.display == "" || dv_gestioneAssenze_INS.style.display == "inline") ? "none" : "inline";

if (dv_gestioneAssenze_INS.style.display == "inline") {
var btShowHideOreAssenze_Ins = $get("btShowHideOreAssenze_Ins");
btShowHideOreAssenze_Ins.value = "-";
}

if (dv_gestioneAssenze_INS.style.display == "none") {
var btShowHideOreAssenze_Ins = $get("btShowHideOreAssenze_Ins");
btShowHideOreAssenze_Ins.value = "+";
}
}

Allora, btShowHideOreAssenze_Ins è il bottone e dv_gestioneAssenze_INS è un div all'interno del quale c'è la tabella.

Il problema è che la funzione funziona solo per il primo itame, nel senso che fa comparire e scomparire solamente la tabella contenuta nel primo RepeateItem, anche se premo il pulsanto della decima riga,
viene fatto sparire e poi ricomparire solo la tabella contenuta nella prima riga. Inm sostanza, tutti i bottoni contentuti in tutt le righe puntato tutti al DIV instanziato nella primna riga, in quanto la funzione fa il retrieve del controllo DIV basandosi su suo id, che probabilmente è == 'dv_gestioneAssenze_INS' solo per la prima riga

Avete qualche dritta a riguardo?

Grazie mille!
aripan72 wrote:
Avete qualche dritta a riguardo?

usa una classe del CSS, così puoi beccarli in base a quello. altrimenti, solito trucco di aggiungere Container.ItemIndex all'ID generato del div. .

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
547 messaggi dal 24 maggio 2002
Contributi
Puoi anche usare i selettori di jQuery; in particolare parent() e find() in modo da strutturare tutto in relazione all'annidamento.
es:
<div><a href="#1">Chiudi</div>
<div><a href="#1">Chiudi</div>
<div><a href="#1">Chiudi</div>
<div><a href="#1">Chiudi</div>
<div><a href="#1">Chiudi</div>


codice javascript:
$("a").click(function(){
    $(this).parent().hide();
});


E' un esempio semplice e non testato, sperò pèerò che dia l'idea.

Marco.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.