2009-09-13 7 views
1

Cela peut être une réponse simple, mais j'ai quelques problèmes à écrire ce petit script de chargement ... Je pense que j'ai un bug quelque part, je peux l'obtenir pour effacer la div, mais la page n'est pas chargement:load() chargement page

Jquery:

$(document).ready(function() { 
//Load content 
    $(".load").click(function(){ 
      $("#content").empty(); 
      loadName = $(this).find("a").attr("id"); 
      $("#content").load("/content/" + loadName + ".php"); 
      }); 
}); 

HTML:

<div id="select">  
    <div id="menu"> 
    <ul> 
    <li><a class="load" href="javascript:void(0)" id="project1">Project 1</a></li> 
    <li><a class="load" href="javascript:void(0)" id="project2">Project 2</a></li> 
    </ul> 
    </div> 
</div> 
<div id="content"></div> 

à la fois les fichiers php sont situés à un lien comme si (notez ce sont juste des noms fictifs et pas de liens réels):

http://www.hostname.com/content/project1.php
http://www.hostname.com/content/project2.php

Répondre

2

depuis que vous avez défini $('.load'), vous n'avez pas besoin de faire find('a') pour $(this). Il suffit d'utiliser $(this).attr('id')

1

FIND (jquery) "ne recherche pas les éléments sélectionnés, seuls leurs descendants."

On dirait que vous avez déjà "this" pointant sur vos éléments "a", alors débarrassez-vous de find().

2

Je pense que votre ligne loadName devrait être ceci:

var loadName = $(this).attr("id"); // didn't see a declaration in your code