2016-07-04 4 views
2

Ich versuche es so zu machen, wenn der Benutzer den Hyperlink darunter klickt (1) Anker zu # Suggestionen, (2) trifft die URL-Vorschläge .php? appid = 70 & commentId = 25961 und nichts mehr (willkürliche Zahlen für dieses Beispiel - das ist nicht wichtig), dann (3) öffnet das jquery-ui Akkordeon # Vorschläge.Sprung zum Anker + Ausführen von Ajax + Öffnen von Jquery-Ui Akkordeon Registerkarte in einer Funktion

Ich weiß nicht warum, aber wenn ich auf die URL klicke, wird die Ajax-Funktion nicht ausgeführt und das Akkordeon #suggestions wird nicht geöffnet. Ich habe versucht, eine Warnung hinzuzufügen ("foobar"); Am Ende der Funktion passiert aber nichts und irgendwo muss ein Syntaxfehler sein.

Edit: Ich überprüfte die Syntax und die Warnungen sind:

Expected '"' and instead saw '''. 
type: 'GET', 
5.6Expected '"' and instead saw '''. 
url: 'forumsetcomment.php', 
9.35Unexpected trailing space. 
window.location = "#suggestions"  
18.9Expected '/'. 
</script> 

html:

<a href="#suggestions" class="readmore">Read More</a> 

javascript:

<script> 
$(document).ready(function(){ 
$(".readmore").click(function(event){ 
event.preventDefault(); 
$.ajax({ 
type: 'GET', 
url: 'forumsetcomment.php', 
data: {appid:70, commentid:25961}, 
complete: function(data){ 
refreshMyForum(); 
window.location = "#suggestions"  
$("#suggestions").accordion({ 
heightStyle: "content", 
collapsible: true, 
active: false 
}); 
} 
}); 
}); 
}); 
</script> 

Antwort

2

Wickeln Sie Ihre jQuery-Code in ein $(document).ready(function(){/* Your jQuery Code Here*/});

Hier ist ein Plunker

Um das letzte Problem mit der jQuery UI Akkordeon nicht zu öffnen.

starten:

$("#suggestions").accordion({ 
    heightStyle: "content", 
    collapsible: true, 
}); 
+0

Hmm. Ich habe den gleichen Code wie in Plunker verwendet und sehe die Warnung nicht. – michelleisconfused

+0

Der Ajax wird ausgelöst, wenn ich die Netzwerkaktivität mithilfe der Chrome Developer Tools in dem oben verlinkten Plocker überprüfe. Es scheint keine Syntaxfehler im Code zu geben, aber es behauptet, dass die Funktion 'refreshMyForum' nicht definiert ist. Können Sie die Ajax-URL direkt in Ihrem Browser aufrufen? – segFault

+0

Hey, es gab einen Tippfehler in refreshMyForum, der zwei der drei Probleme (Ajax + Springen zum richtigen Anchor-Tag) behoben hat. Der letzte ist das jquery-ui Akkordeon, das sich nicht öffnet. $ ("#suggestions") .accordion ({ist sicherlich kein Rechtschreibfehler. https://jqueryui.com/accordion/ Wenn das hilft, Dinge zu entlarven – michelleisconfused

Verwandte Themen