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

    Stampare in sequenza una chiamata ajax

    Salve, ho una chiamata ajax ad un evento onclick, ma al posto di cambiare sempre il contenuto del contenitore(o sovrascriverlo di continuo, dipende da come vedete la cosa), questa volta vorrei che ad ogni evento on click gli elementi richiamati fossero messi l'uno sotto l'altro.
    Al momento faccio così:
    codice:
    $(document).ready(function() {
    var inizio = '0';//cos+ richiamo un elmento alla volta dal database
    var fine = '10';
      $("#chiamata").click(function(){
        $.ajax({
    ....
          data: "limite=" + limite,
          dataType: "html",
    
    	  success: function (html) {
    			$('#altri').html(html);
    			fine= fine+'10';
    		}
    
    Nella pagina:
    <div id="altri"></div>
    Così stampo dieci record alla volta, e se si clicca sul bottone la clausula limit si trasforma: da "0, 10" a "0, 20", solo che vorrei fare così: da "0, 10" a "10, 20", solo che in questo modo perdo i primi record estratti.
    In sostanza come posso fare per, dopo stampato il contenuto la prima volta, la seconda affiancare semplicemente il contenuto appena stampato a quello stampato in precedenza, senza riscrivere tutto il div?

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Ciao, è semplicissimo, se guardi meglio la documenazione jquery ci sono molti metodi per fare cose simili:
    append() appendTo() before() after() e cosi' via...

    con .html(.....) sostituisci l'html, con $('qualcosa').appendTo('#contenitore'); aggiungi qualcosa alla fine dell'html già presente.

  3. #3
    Ho provato in diversi modi, e quello che funziona è questo:
    codice:
    $("#altri").append(html);
    Non funziona sostituendo html credo o per via di datatype, o per via di function(html), inoltre mi funziona solo con append, mettendo ad esempio appendto no succede nulla.
    Va bene come soluzione, o è concettualmente sbagliata?

  4. #4
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Ciao, mi pare strano non funzioni appendTo() (con T maiuscola) .. la differenza è poca fra quest'ultimo e append(). Non so come ti arrivano i dati e se il contenitore magari viene creato successivamente nel dom(c'e' da calcolare anche questo a volte).
    Se append() funziona ad ogni modo dovrebbe essere a posto cosi'.

    jQuery(contenutoDaInserire).appendTo('#dove'); è equivalente di jQuery('#dove').append(contenutoDaInserire);

  5. #5
    Ciao, ovviamente l'ho scritto giusto, lo sò che è case sensitive.
    Comuqnue visto che append funziona e mi dici che è la stessa cosa(più o meno), và benissimo così, l'ho provato su tutti i browser inoltre e non dà problemi.

  6. #6
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Perche' nella maggior parte dei casi con Jquery è quasi tutto compatibile con diversi browser. E' comodo anche per questo

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.