Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di Scream
    Registrato dal
    Apr 2002
    Messaggi
    228

    [jQuery] modificare contentuto div mediante interno

    Ciao a tutti, premetto che ho trovato alcune possibili soluzioni, ma non so per quale motivo non funzionano come vorrei.
    Nella pagina index.php ho questo codice:
    codice:
    <ul class="nav nav-pills" id="myTabs">
        <li class="active"><a data-toggle="tab" href="#tab1">Tab 1</a></li>
        <li><a data-toggle="tab" href="#tab2">Tab 2</a></li>
    </ul>
     <div id="myContent" class="tab-content">
        <div id="tab1" class="tab-pane active in"></div>
      <div id="tab2" class="tab-pane"></div>
    </div>
    <script>
     $("#tab1").load("_content-tab1.php");
      $("#tab2").load("_content-tab2.php");
    </script>
    _content-tab1 (ma _content-tab2 è uguale, ma con differente tabella) contiene il codice sotto.
    Riassumo per i pigri... in pratica il codice dice questo:
    se mi arriva il valore di una variabile "id" tramite GET io cerco in database il record con quell'id e mostro i dettagli, altrimenti mostro la lista dei record con un link per ognuno di essi (che in pratica dovrebbe poi comunicare per poter aggiornare il div)
    Codice PHP:
    include('inc/config.php');

    if(
    $_GET['id']!="") {
      
    $arrMyID explode('-',$_GET['id']);
      
    $myID $arrMyID[1];
      
    $query mysql_query("SELECT * FROM tabella1 WHERE id='$myID'");
      
    $tot_query mysql_num_rows($query);
      if(
    $tot_query==1) {
        
    $row_query mysql_fetch_assoc($query);
        
    $strTitolo $row_query['titolo'];
        
    $strTesto $row_query['testo'];

        
    $contenuto "<h3>$strTitolo</h3>\n$strTesto\n";
        echo 
    $contenuto;
      }
    } else {
      
    $contenuto "";
      
    $query mysql_query("SELECT * FROM tabella1 ORDER BY id DESC");

      if(
    mysql_num_rows($query)>0) {
        while(
    $row_query mysql_fetch_assoc($query)) {
          
    $strID $row_query['id'];
          
    $strTitolo $row_query['titolo'];
          
    $contenuto .= '<h4><a class="link-tab1" id="tab1-'.$strID.'" href="#">'.$strTitolo.'</a></h4>'."\n";
        }
      }

      echo 
    $contenuto;
    }
    ?>
    <script>
    $('.link-tab1').click(function(){
      var id = $(this).attr('id');

      $.get('_content-tab1.php?id='+ id, function(data){
        $('#tab1').html(data);
      });
    });
    </script> 
    Purtroppo non funziona.

  2. #2
    Apparentemente il codice sembra corretto. "Non funziona" però non fa capire niente. Hai provato a chiamare direttamente le pagine _content-tab1.php e _content-tab2.php? Cosa ti stampano a video?
    Inoltre, nel DB gli ID sono stringhe nel formato "tab1-numero"? Dovrebbe essere così a giudicare dal codice scritto.

  3. #3
    Utente di HTML.it L'avatar di Scream
    Registrato dal
    Apr 2002
    Messaggi
    228
    Quote Originariamente inviata da partime Visualizza il messaggio
    Apparentemente il codice sembra corretto. "Non funziona" però non fa capire niente.
    Nel senso che mi rimanda alla home del sito... sembra non piacere href="#"
    Quote Originariamente inviata da partime Visualizza il messaggio
    Hai provato a chiamare direttamente le pagine _content-tab1.php e _content-tab2.php? Cosa ti stampano a video?
    Se lancio la pagina _content-tab1.php funziona come dovrebbe.
    Il problema si presenta solo quando la richiamo all'interno di una pagina madre.
    Quote Originariamente inviata da partime Visualizza il messaggio
    Inoltre, nel DB gli ID sono stringhe nel formato "tab1-numero"? Dovrebbe essere così a giudicare dal codice scritto.
    Nel codice ho questo:
    Codice PHP:
    if($_GET['id']!="") {
      
    $arrMyID explode('-',$_GET['id']); // ←←← separo tab1-numero in array('tab1','numero')
      
    $myID $arrMyID[1]; // ←←← recupero solo il numero
      
    $query mysql_query("SELECT * FROM tabella1 WHERE id='$myID'"); 

  4. #4
    Utente di HTML.it L'avatar di Scream
    Registrato dal
    Apr 2002
    Messaggi
    228
    Sembra che a causare il problema fosse il <base href="URL"> presente negli header di pagina. Tolto e ora funziona come dovrebbe.
    Qualcuno sa come ovviare il problema o sa il motivo di tale malfunzionamento?

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Ho sbagliato scusate
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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.