2016-04-13 16 views
1

Ich versuche, bestimmte Element auf Schaltfläche bei Klick mit jQuery neu zu laden, aber wenn ich auf die Schaltfläche klicken, wird die gesamte Seite in diesem Element geladen. Ich habe den folgenden Code ausprobiert, der die gesamte Seite in dieses Element lädt. Ich möchte nur bestimmte Elemente laden.Reload bestimmtes Element mit jQuery

<script> 
    $(document).ready(function() { 
     $("#button").click(function() { 
      $("#demo").load(location.href + "#demo"); 
     }); 
    }); 
</script> 
</head> 

<body> 
    <div id="example"> 
     <p id="demo">hi</p> 
     <button id="button" type="button">press</button> 
    </div> 

Antwort

6

Sie load() mit Wahl verwenden können.

$("#demo").load(location.href + " #demo"); // Add space between URL and selector. 
           ^

lädt diese nur das #demo Element aus der location.href URL.

2

Sie haben die Seite laden $.get() mit und extrahieren Sie die #demo Fragment:

$("#button").click(function() { 
    $.get(location.href).then(function(page) { 
    $("#demo").html($(page).find("#demo").html()) 
    }) 
}) 
1

Sie Ajax verwenden können, dann mit response erstellen Element, es dann in den div setzen:

<head> 
    <script> 
     $(document).ready(function() { 
      $("#button").click(function(){ 
       $.ajax({ 
        url: location.href, 
        type: 'GET', 
        sucess: function(data) 
        { 
         refreshedPage = $(data); 
         newDemo = refreshedPage.find("#demo").html(); 
         $('#demo').html(newDemo) 
        } 
       }); 
      } 
     } 
    </script> 
</head> 

<body> 
    <div id="example"> 
     <p id="demo">hi</p> 
     <button id="button" type="button">press</button> 
    </div> 
</body> 

Aber Sie die gesamte Seite geladen werden, könnte es mir nicht sehr nützlich. Ich schlage vor, ein PHP-Skript, das nur die angeforderten Daten zurückgibt, und rufen Sie über Ajax beim Laden der Seite und beim Klicken auf die Schaltfläche ...

Verwandte Themen