2012-04-07 6 views
-3

Ich habe eine Seite und enthalten jquery-Bibliothek und CSS zu diesem (Index).jquery Bibliothek funktioniert nicht in externen PHP-Dateien

Jetzt habe ich Code für Twitter wie laden mehr. Dies funktionierte, aber wenn ich dies mit jQuery löschen muss, funktioniert es nicht (mit einem anderen Code in meinem Index). Problem: Die jquery-Bibliothek wird nicht an die externe php-Datei angehängt.

Ich habe das gleiche Problem in Colorbox. wenn ich iframe in colorbox lade, wird mein index jQuery nicht an externe dateien angehängt, also lege ich manuelle jquery zu externen dateien!

Es gibt keinen Weg, nur die jquery Originaldatei (mein Index) verwendet?

EX js Last mehr:

<script type="text/javascript"> 
$(function() { 
//More Button 
$('.more').live("click",function() 
{ 
var ID = $(this).attr("id"); 
if(ID) 
{ 
$("#more"+ID).html('<img src="moreajax.gif" />'); 

$.ajax({ 
type: "POST", 
url: "ajax_more.php", 
data: "lastmsg="+ ID, 
cache: false, 
success: function(html){ 
$("ol#updates").append(html); 
$("#more"+ID).remove(); 
} 
}); 
} 
else 
{ 
$(".morebox").html('The End'); 

} 


return false; 


}); 
}); 

</script> 

PHP:

<?php 
include("config.php"); 


if(isSet($_POST['lastmsg'])) 
{ 
$lastmsg=$_POST['lastmsg']; 
$result=mysql_query("select * from messages where msg_id<'$lastmsg' order by msg_id desc limit 9"); 
$count=mysql_num_rows($result); 
while($row=mysql_fetch_array($result)) 
{ 
$msg_id=$row['ms_gid']; 
$message=$row['message']; 
?> 


<li> 
<?php echo $message; ?> 
</li> 


<?php 
} 


?> 

<div id="more<?php echo $msg_id; ?>" class="morebox"> 
<a href="#" id="<?php echo $msg_id; ?>" class="more">more</a> 
</div> 

<?php 
} 
?> 

HTML:

<head><script type="text/javascript" src="./jquery.min.js"></script></head> 
    <div id='container'> 
    <ol class="timeline" id="updates"> 
    <?php 
    $sql=mysql_query("select * from messages ORDER BY msg_id DESC LIMIT 9"); 
    while($row=mysql_fetch_array($sql)) 
    { 
    $msg_id=$row['msg_id']; 
    $message=$row['message']; 
    ?> 
    <li> 
    <?php echo $message; ?> 
    </li> 
    <?php } ?> 
    </ol> 
    <div id="more<?php echo $msg_id; ?>" class="morebox"> 
    <a href="#" class="more" id="<?php echo $msg_id; ?>">more</a> 
    </div> 
    </div> 
+2

Ihre Frage fehlt Klarheit. Bisher scheint es so zu sein, dass Sie jQuery erfolgreich in einer PHP-Datei laden und verwenden können, aber nicht automatisch für andere PHP-Dateien verfügbar sind. Ist das korrekt? Ohne konkretere Beispiele und Informationen wird es äußerst schwierig sein, Ihnen nützliche Antworten zu geben. – Vijay

+0

siehe meinen Update-Post. dies vollständig e.x – Gcoder

Antwort

0

ist, weil Ihre Jquery geladen wird, nachdem das Dokument bereit ist, dann rufen Sie die andere PHP-Datei. Sie sollten jquery-Funktionen ohne $ (document) .ready(); So können Sie jQuery-Funktionen überall verwenden. Die andere wichtige Sache ist, dass anstelle der Verwendung

$(function(){ 
    $('#selector').click(function(){ 
     'your other code' 

    }); 
}); 

Verwendung wie diese

function my_function(){ 
    your code 
} 

und html

<input type = "text" onclick = 'my_function();'> 

Hope this helfen. Auf diese Weise können Sie diese Funktionen überall aufrufen. Und wenn Sie die andere php-Datei im ersten php aufrufen oder laden, stellen Sie sicher, dass sie in ein div geladen ist, das sich in der ersten php-Datei befindet.

+0

wie arbeite ich mit meinem e.x? – Gcoder

Verwandte Themen