Visualizzazione dei risultati da 1 a 7 su 7

Discussione: repeater + javascript

  1. #1

    repeater + javascript

    Ho un repeater, me faccio uno pi� piccolo tralasciando altri campi

    codice:
     <asp:Repeater ID="repeaterElencoOfferte2" runat="server">
                             <ItemTemplate> 
    
     <asp:DropDownList class="form-control" id="cmbSconto" BackColor="#FFFFCC" runat="server" onchange="cambioSconto(this)" Font-Size="Medium"></asp:DropDownList>
    
    <asp:Label ID="lblPrezzoScontato" runat="server" Text="� 0,00"></asp:Label>
    
                            </ItemTemplate> 
     </asp:Repeater>
    vorrei al cambio valore della DropDownList che scatena la funzione "cambioSconto(this)"
    far variare il valore della label "lblPrezzoScontato"
    come test mi va bene anche:

    lblPrezzoScontato=cambioSconto

    poi intervengo io con i calcoli, il problema � che non riesco proprio a dare il valore a quella label all'interno del Repeater

    codice:
     function cambioSconto(valoreDrop) {
      
            alert(valoreDrop.value);
        
        }
    riesco solo ad intercettare il valore della dropdown

    qualcuno sa aiutarmi?

    Ciao e grazie
    i7 3770K --- Asus P8z77 --- 2x4Gb Corsair Vengeance 2133MHz--- Enermax NoiseTaker II 600w --- SSD: 128Gb Vertex 4 --- WD 1000Gb --- WD 2000Gb --- ASUS ATI5850 1Gb --- Case: Kandalf 25cm Fan --- Tastiera Logitech G15 --- Mouse Razer Copperhead

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Il primo modo che mi è venuto in mente:

    Sfrutto l'evento ItemDataBound

    codice:
        Protected Sub Repeater1_ItemDataBound(sender As Object, e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles Repeater1.ItemDataBound
            Select Case e.Item.ItemType
                Case ListItemType.Item, ListItemType.AlternatingItem
                    Dim cmbSconto As DropDownList = TryCast(e.Item.FindControl("cmbSconto"), DropDownList)
    
                    If cmbSconto IsNot Nothing Then
                        Dim lblPrezzoScontato As Label = TryCast(e.Item.FindControl("lblPrezzoScontato"), Label)
                        If lblPrezzoScontato IsNot Nothing Then
                            cmbSconto.Attributes.Add("onchange", String.Format("cambioSconto(this, document.getElementById(""{0}""));", lblPrezzoScontato.ClientID))
                        End If
                    End If
    
                    debug = True
            End Select

    e la funzione javascript
    codice:
    function cambioSconto(v, v1)
    {
        //alert(v.value);
        v1.innerHTML = v.value;
    }
    Pietro

  3. #3

    ok

    Quote Originariamente inviata da pietro09 Visualizza il messaggio
    Il primo modo che mi è venuto in mente:

    Sfrutto l'evento ItemDataBound

    codice:
        Protected Sub Repeater1_ItemDataBound(sender As Object, e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles Repeater1.ItemDataBound
            Select Case e.Item.ItemType
                Case ListItemType.Item, ListItemType.AlternatingItem
                    Dim cmbSconto As DropDownList = TryCast(e.Item.FindControl("cmbSconto"), DropDownList)
    
                    If cmbSconto IsNot Nothing Then
                        Dim lblPrezzoScontato As Label = TryCast(e.Item.FindControl("lblPrezzoScontato"), Label)
                        If lblPrezzoScontato IsNot Nothing Then
                            cmbSconto.Attributes.Add("onchange", String.Format("cambioSconto(this, document.getElementById(""{0}""));", lblPrezzoScontato.ClientID))
                        End If
                    End If
    
                    debug = True
            End Select

    e la funzione javascript
    codice:
    function cambioSconto(v, v1)
    {
        //alert(v.value);
        v1.innerHTML = v.value;
    }

    siiiiiiiiiiii...
    funzionaaaaaaa....

    grazie, posso chiederti due cose per capire?

    debug = True

    l'ho tolto perchè me lo segnava come errore

    altra cosa, perchè questa sintassi:

    document.getElementById(""{0}""));

    poi dal javascript ne ricavi il valore di "v1" che poi sarà il risultato dell'operazione...
    ma con quel
    document.getElementById(""{0}""));
    come ragiona il sistema, come fa a capire che si tratta di "v1" ??

    mi serve per capire..

    ciao e grazie
    i7 3770K --- Asus P8z77 --- 2x4Gb Corsair Vengeance 2133MHz--- Enermax NoiseTaker II 600w --- SSD: 128Gb Vertex 4 --- WD 1000Gb --- WD 2000Gb --- ASUS ATI5850 1Gb --- Case: Kandalf 25cm Fan --- Tastiera Logitech G15 --- Mouse Razer Copperhead

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    allora, debug = True, l'ho dimenticato di toglierlo. A me serve per mettere un punto di interruzione per fare il debug.

    Per il secondo, a javascript serve l'id dell'elemento, che ricavo con lblPrezzoScontato.ClientID

    document.getElementById(id) ricava l'elemento span che passo al metodo cambioSconto
    Pietro

  5. #5

    ok

    Quote Originariamente inviata da pietro09 Visualizza il messaggio
    allora, debug = True, l'ho dimenticato di toglierlo. A me serve per mettere un punto di interruzione per fare il debug.

    Per il secondo, a javascript serve l'id dell'elemento, che ricavo con lblPrezzoScontato.ClientID

    document.getElementById(id) ricava l'elemento span che passo al metodo cambioSconto
    questo lo immaginavo, � che non capisco come quella sintassi (""{0}"")) fa riferimento proprio a quell'oggetto...

    perch� sono nella stessa situazione ma ora in una gridview...porca paletta...
    ahahaha

    tra poco creo un post nuovo e vedimao come siamo messi se riusciamo anche li a risolverlo..

    grazieeeeeeee
    i7 3770K --- Asus P8z77 --- 2x4Gb Corsair Vengeance 2133MHz--- Enermax NoiseTaker II 600w --- SSD: 128Gb Vertex 4 --- WD 1000Gb --- WD 2000Gb --- ASUS ATI5850 1Gb --- Case: Kandalf 25cm Fan --- Tastiera Logitech G15 --- Mouse Razer Copperhead

  6. #6

  7. #7

    ok

    Quote Originariamente inviata da pietro09 Visualizza il messaggio

    ok...

    nel frattempo ho creato l'esempio per la gridview, dopo 3 ore mi arrendo... :-(
    http://forum.html.it/forum/showthrea...2#post25442432
    i7 3770K --- Asus P8z77 --- 2x4Gb Corsair Vengeance 2133MHz--- Enermax NoiseTaker II 600w --- SSD: 128Gb Vertex 4 --- WD 1000Gb --- WD 2000Gb --- ASUS ATI5850 1Gb --- Case: Kandalf 25cm Fan --- Tastiera Logitech G15 --- Mouse Razer Copperhead

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.