Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    dialog con jQuery collegato a più record

    Ciao a tutti devo estrarre dei record da database asp che possono variare da 0 a infinito.
    Li impagino e per ogni riga che estraggo devo, tramite click su di un link e grazie alla funzione dialog, poter vedere altre informazioni del record che mi interessa.
    Il mio problema non capendo niente di javascript è questo:

    in modo amatoriale ho duplicato la funzione che segue:
    codice:
    	<script type="text/javascript">
    		$(document).ready(function(){
    			$("a#open1").click(function(){
    				$('#finestra1').dialog("open");
    
    				return false;	
    			});
    			$("a#open2").click(function(){
    				$('#finestra2').dialog("open");
    
    				return false;	
    			});
    
    
    			
    			$('#finestra1').dialog({
    				modal: true,
    				autoOpen: false,
    				buttons: {
    				"Chiudi": function() {
    					$( this ).dialog( "close" );
    				},
    					
    			}
    
    			});	
    $('#finestra2').dialog({
    				modal: true,
    				autoOpen: false,
    				buttons: {
    				"Chiudi": function() {
    					$( this ).dialog( "close" );
    				},
    					
    			}
    
    			});
    		});
    	</script>
    vorrei che se trova 10 record la funzione si moltiplichi da sola, quindi dovrebbe creare finestra3,4,5,6,7,8,9,10

    Come posso fare? anzi chi può postarmi lo script modificato

    Grazie in anticipo
    Scambio link

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Ciao, dovresti secondo me fare una cosa del genere, sapendo ad esempio che i tuoi record hanno come riferimento un id che inzia per open+QUALCOSA
    Avendo ad esempio #open1, #open2, #open3...

    $('[id^="open"]').click(function(){
    .....
    });

    In questo modo su ogni id che inizia per opena entrerai qui.

    ti dovresti poi ricavare l'altro id in base a quello che hai cliccato
    o meglio nel tuo esempio vedo che usi finestra1 se clicchi open1 e via dicendo
    Potresti spezzare l'id e ricavare il numero da concatenare tipo:
    codice:
    $('[id^="open"]').click(function(){
    	var id = $(this).attr('id');//id dove hai cliccato che sarà open1 ad es.
            var sep = id.split('open');
            //sep[1] sarà in questo caso 1
               
    			});
    Ora sapendo che hai ricavato "1" l'id della finestra:
    codice:
     var idDialog = 'finestra'+sep[1];
    Devi far si che l'id della finestra quindi corrisponda a quello cliccato.


    Se poi posteranno una soluzione migliore tanto meglio

  3. #3
    eheheheh grazie per la risposta!!
    anche se quello che hai scritto è per me arabo, come è arabo quello che avevo scritto io

    allora io non ho problemi a numerare ogni record che viene estratto da 1 a 100 per esempio, ricavando un id unico sia per la finestra che per il comando open; open1 corrisponderà a finestra1.

    quindi mi serve solo che il mio script di prima si moltiplichi per 100 in questo caso...
    Scambio link

  4. #4
    non moltiplichi, che ci sia un ciclo fino a 100...
    Scambio link

  5. #5
    Help me
    Scambio link

  6. #6
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Ciao, ma e' quello che ho scritto io alla fine, richiami la funziono ogni volte che clicci su un id che inzia per "qualcosa"...

    codice:
    $('[id^="open"]').click(function(){
    	var id = $(this).attr('id');//id dove hai cliccato che sarà open1 ad es.
            var sep = id.split('open');
            //sep[1] sarà in questo caso 1
              var idDialog = 'finestra'+sep[1]; //sarà finestra1
    			});
    Allo stesso modo
    codice:
    	$('[id^="finestra"]').dialog({
    				modal: true,
    				autoOpen: false,
    				buttons: {
    				"Chiudi": function() {
    					$( this ).dialog( "close" );
    				},
    					
    			}

  7. #7
    Ciao e grazie ancora.
    Il numero degli id lo devo passare prima, non al momento del click perchè altrimenti mi visualizza tutto quello che si trova all' interno delle finestre che si dovranno aprire.
    Quindi se il db trova 100 record io devo dirgli che sono id da 1 a 100...
    Scambio link

  8. #8
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Cosi' come l ho fatto prende qualsiasi id che inzia per.....
    Se devi dirgli quali id prendere allora mettici appena dopo il click un controllo con una lista, a questo punto esegui o stoppi

  9. #9
    non ci sono, la mia pagina è così...

    codice:
    <%
        Dim conn
        Set conn = Server.CreateObject("ADODB.Connection")
        conn.Open = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=xxx;DATABASE=xxx;UID=xxx;PWD=xxx;OPTION=35;"
    %>
    <%
    Dim estrazioneUTENTE
    Set estrazioneUTENTE = Server.CreateObject("ADODB.Recordset")
    Dim SQLestrazioneUTENTE
    SQLestrazioneUTENTE = "SELECT * FROM utenti WHERE xxx = '012'"
    conn.Execute(SQLestrazioneUTENTE)
    estrazioneUTENTE.Open SQLestrazioneUTENTE, conn
    %>
    <%
    Con un count mi tiro fuori il numero di record che trova
    %>
    
    
    <script type="text/javascript" src="jquery.min.js"></script>
    <script type="text/javascript" src="jquery.ui.core.js"></script>
    <script type="text/javascript" src="jquery.ui.widget.js"></script>
    <script type="text/javascript" src="jquery.ui.position.js"></script>
    <script type="text/javascript" src="jquery.ui.dialog.js"></script>
    <script type="text/javascript" src="jquery.ui.button.js"></script>
    
    Qui dovrei dire allo script java, "ho trovato 100 record moltiplica lo script che segue da 1 a 100" perchè altrimenti non mi impagina correttamente la query e mi mostra tutte le info nascoste all' interno del div relativo a finestra+id
    
    	<script type="text/javascript">
    		$(document).ready(function(){
    			$("a#open1").click(function(){
    				$('#finestra1').dialog("open");
    
    				return false;	
    			});
    			$("a#open2").click(function(){
    				$('#finestra2').dialog("open");
    
    				return false;	
    			});
    
    
    			
    			$('#finestra1').dialog({
    				modal: true,
    				autoOpen: false,
    				buttons: {
    				"Chiudi": function() {
    					$( this ).dialog( "close" );
    				},
    					
    			}
    
    			});	
    $('#finestra2').dialog({
    				modal: true,
    				autoOpen: false,
    				buttons: {
    				"Chiudi": function() {
    					$( this ).dialog( "close" );
    				},
    					
    			}
    
    			});
    		});
    	</script>
    
    Avvio il ciclo della query
              <%
    If estrazioneUTENTE.EOF then
    else
    While Not estrazioneUTENTE.EOF
    With Response
    id = id + 1
    if i = 1 then
    colore = "#F9F9F9"
    i = 0
    else
    colore = "#EEEEEE"
    i = i + 1
    end if
    %>
    mi impagino i miei record e poi metto il link per visualizzare, per ogni record la finestra dialog
    ">Visualizza scheda
    <%
    End With
    estrazioneUTENTE.MoveNext
    Wend
    end if
    %>
    Scambio link

  10. #10
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Allora, hai gli id nella lista da 1 a quanti ne saranno.
    Non hai provato quello che ti ho messo d'esempio? Perche' dovrebbe fare quello che chiedi.
    http://api.jquery.com/attribute-starts-with-selector/ qui c'e' la documentazione dove ti spiega come selezionare un elemento con attributo che iniza per...

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 © 2025 vBulletin Solutions, Inc. All rights reserved.