2014-10-13 3 views
0

Я пытаюсь получить онлайн-статус в автономном режиме для чат-системы. В настоящее время я зациклился на том, как обновлять диапазон в реальном времени. У меня все работает, но он продолжает добавлять значение (человек, который находится в сети) к моему диапазону. То, что я хочу достичь, - это иметь статический список людей (тех, кто находится внутри моей базы данных), а рядом с ним - зеленая пуля, если они находятся в сети.Ajax update a span real time

Это мой JQuery скрипт:

function theStatus(type, msg){ 
    $("#status").append(
     "<span class='status "+ type +"'>"+ msg +"</span>" 
    ); 
} 

function getStatus(){ 
$.ajax({ 
    type:  "get", 
    url:  "php/ajax/status_users.php", 

    async:  true, 
    cache:  false, 
    timeout: 1000, 

    success: function(data){ 
     theStatus("rt", data); 
     setTimeout(
      getStatus, 
      1000 
     ); 
     } 
    }); 
}; 


$(document).ready(function(){ 
    getStatus(); 
}); 

Вся помощь приветствуется!

+0

Вот что. .append' _does_ - если вы этого не хотите, используйте метод, который вместо _replaces_ содержит текущий элемент. – CBroe

+0

function theStatus (type, msg) { $ ("# status"). Empty(); $ ("# status"). Append ( "" + msg + "" ); } –

+0

Спасибо за ответы! Предложения Раджарши работали для меня. Спасибо за это :) –

ответ

1

Я не знаю, что теперь возвращает ваш php-скрипт, но я бы хотел, чтобы он возвращал пары ключ-значение имени пользователя и статусы.

Затем вы можете добавить пул пользователя в качестве идентификатора для каждого пользовательского интервала и указать правильный диапазон, чтобы изменить статус, если это необходимо, или добавить дополнительного пользователя, если он не найден в html.

На данный момент вы просто добавляете span каждый раз, когда ваша функция ajax возвращает результат вместо проверки существующего списка на возвращаемый список с сервера.