J'ai créé une liste sur mon site. Cette liste est créée par une boucle foreach qui construit avec les informations de ma base de données. Chaque élément est un conteneur avec différentes sections, il ne s'agit donc pas d'une liste du type 1, 2, 3... etc. Il s'agit d'une liste de sections répétitives contenant des informations. Dans chaque section, il y a une sous-section. La construction générale est la suivante :
<div>
<fieldset class="majorpoints" onclick="majorpointsexpand($(this).find('legend').innerHTML)">
<legend class="majorpointslegend">Expand</legend>
<div style="display:none" >
<ul>
<li></li>
<li></li>
</ul>
</div>
</div>
J'essaie donc d'appeler une fonction avec onclick="majorpointsexpand($(this).find('legend').innerHTML)".
La division que j'essaie de manipuler est style="display:none" par défaut, et je veux utiliser le javascript pour la rendre visible au clic.
Le "$(this).find('legend').innerHTML" tente de passer, dans ce cas, "Expand" comme argument dans la fonction.
Voici le javascript :
function majorpointsexpand(expand)
{
if (expand == "Expand")
{
document.write.$(this).find('div').style = "display:inherit";
document.write.$(this).find('legend').innerHTML = "Collapse";
}
else
{
document.write.$(this).find('div').style = "display:none";
document.write.$(this).find('legend').innerHTML = "Expand";
}
}
Je suis presque sûr à 100% que mon problème est la syntaxe, et je n'ai pas beaucoup de connaissances sur le fonctionnement de javascript.
JQuery est lié au document avec :
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
Dans le <head></head>
section.