проблема обновления div, содержащего php-код, используя jquery - PullRequest
1 голос
/ 10 августа 2009

Я прочитал 3 сообщения на SO о том, как это сделать, но по какой-то причине он не работает.

На странице index.php у меня есть этот скрипт:

<script type="text/javascript">

function update() {
  $.get("index.php", function(data) {
    $("#uploadcount").html(data);
    window.setTimeout(update, 5000);
  });
}

</script>

, а затем этот div, также в index.php

<div id=uploadcount>
<?
$result = mysql_query("SELECT * FROM mydb");
$num_rows = mysql_num_rows($result);
echo "<h1>$num_rows</h1><h2>rows</h2>";
?>
</div>

php отображает количество строк в порядке, но не обновляет номер.
(у меня есть последняя сборка jquery, включенная в заголовок index.php)

Ответы [ 3 ]

1 голос
/ 10 августа 2009

Попробуйте использовать это для своей функции обновления

function update() {
    $("#uploadcount").load("index.php #uploadcount")
    window.setTimeout(update, 5000);
}
1 голос
/ 10 августа 2009

нашел решение, которое прекрасно работает

<script type="text/javascript">
$(document).ready(function() {
setInterval(function()
{
     $('#uploadcount').fadeOut("fast").load('uploadcount.php').fadeIn("slow");
}, 10000);

});
</script>


<div id="uploadcount">
<? include("uploadcount.php");?>
</div>

Спасибо всем, кто помог.

1 голос
/ 10 августа 2009

Попробуйте заключить свой идентификатор Div в двойные кавычки:

<div id="uploadcount">

Кроме того, поместите ваш jQuery в блок document.ready, и вызов метода setTimeout не должен быть внутри метода $ .get:

<script type="text/javascript">
$(document).ready(function() {
    function update() {
      $.get("index.php", function(data) {
        $("#uploadcount").html(data);
      });
    }
    window.setTimeout(update, 5000);
});
</script>

Если вы хотите выборочно извлечь что-то из документа, вы можете использовать $. Load с селектором, например ::

$("#uploadcount").load("index.php #uploadcount");

http://docs.jquery.com/Ajax/load

Это работает только с jQuery 1.2 и выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...