• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Ajax - Textmarkierung verschwindet

pdflocker

Neues Mitglied
Hallo,

diese Frage ist bestimmt schon (öfters) gestellt worden? Aber, gibt es eine möglichkeit, dass die markierung vom jeweiligen Text (z.b. ich gebe die anzahl von datensätzen aus der db mit ajax aus). Wenn ich dann die zahl markiert habe, wird die markierung ja immer wieder weggemacht, weil es scheinbar in einem zeitinterval überprüft und überprüft etc...gibt es da eine andere lösung? :)

danke schonmal
 
Werbung:
ich hab nicht wirklich verstanden, was du meinst, aber die Markierung wird immer aufgehoben, wenn du den innerHTML eines Elements änderst. Vielleicht hilft dir das ja. Kannst ja mal versuchen, ob die Markierung auch verschwindet, wenn du nur den Text-Node änderst.
 
danke dir schonmal, leider werd ich daraus nicht ganz so schlau :(

mein code im groben:

DB verbindung + num_rows als beispiel genommen:
PHP:
$query = $db->query("SELECT * FROM text");

hier die jquery ajax in der index.php eingebunden:
Code:
function test() {
        
        $.ajax({
            type: "POST",
            url: "ajax.php",
            success: function(val) {
                $("#test2").html(val);
                test();
            }
        });
        
    }
    test();

Und hier die ajax.php:
PHP:
<?php

$db = @new mysqli('localhost','root','','dbz');
$query = $db->query("SELECT * FROM text");
$fetch = $query->num_rows;

echo "<h1>" . $fetch . "</h1>";

Hab jt einfach testweise gemacht ohne richtig zu strukturieren...weiß echt nicht ob mir da jemand helfen kann? :(
 
Werbung:
ja, wie gesagt: Wenn du den Inhalt eines Elements änderst (also mit .html(...)), weiß der Browser natürlich nicht mehr, an welcher Stelle markiert war. Beispielsweise hast du ein Element:
<div>text<a>hallo</a></div>
und markierst in diesem div den Text hallo. Dann änderst du den Inhalt des Elements mit $("div").html("text") auf
<div>text</div>
dann kann der Browser ja nicht mehr wissen, was er jetzt noch selektieren soll, auch wenn die Inhalt gleich wären.
Und da du den Content ja ständig nachlädst, verschwindet auch ständig die Markierung. Lass doch mal das test(); in der success Funktion weg, dann bleibt die Markierung.

Evtl kannst du dann auch abfragen, ob text Markiert wurde und mit dem Einfügen der Inhalte warten, bis die Markierung aufgehoben wurde.
 
Hallo,

ich danke dir für deine antwort :) So hab ich mir das dann auch gedacht..jedoch, meine funktion braucht ja eine schleife, damit es sich immer und immer wieder aufruft (bzw. die datenbank abfägt, ob irgendwas neues da ist; denn meine function überprüft in live wieviele besucher gerade auf der webseite sind). Google analytics z.b. hat auch sowas, und da wird die markierung nicht aufgehoben :(

//edit: ich glaub ich hab raus wie ich das ständige markieren weglasse; einfach mit 2 funktionen :)
 
Zuletzt bearbeitet:
Zurück
Oben