0

我正在尝试从加载 ajax 的 div 中获取元素,但我不能。让我们解释一下:

在'example.php'我有这个js代码:

<script type= "text/javascript">

var page=document.getElementById("table_page").value;

$(document).ready(function() {
    function update() {
      $.ajax({
       type: 'GET',
       url: "show_class_entrys.php?q="+page,
       timeout: 1000,
       success: function(data) {
          $("#show_class_entrys_js").html(data); 
          window.setTimeout(update, 3000);
       },
      });
     }
     update();
});


</script>

但是使用 ajax 文件“loaded.php”加载 id='table_page' 的输入。文件“loaded.php”包含以下内容:

<?php echo " <input type='hidden' id='table_page' value='7' /> "; ?>

这打印在我的“example.php”中的某个地方。问题是我无法在我的 js 代码中从此 div 获取值。请帮我。

4

2 回答 2

1

试试这个:

$(document).ready(function () {

    var page = '';
    $('#divLoadedID').load('loaded.php', function () {
        page = $("#table_page").val();
        update();
    });

    function update() {
        $.ajax({
            type: 'GET',
            url: "show_class_entrys.php?q=" + page,
            timeout: 1000,
            success: function (data) {
                $("#show_class_entrys_js").html(data);
                window.setTimeout(update, 3000);
            },
        });
    }
});
于 2013-03-29T14:12:26.710 回答
0

这是一个简单的修复。您需要做的就是覆盖page您的成功函数,因为它将获得新值。

$(document).ready(function() {

    var page=$("#table_page").val();

    function update() {
      $.ajax({
       type: 'GET',
       url: "show_class_entrys.php?q="+page,
       timeout: 1000,
       success: function(data) {
          $("#show_class_entrys_js").html(data); 
          window.setTimeout(update, 3000);
          page=$("#table_page").val();
       },
      });
     }
     update();
});

问题是page在 DOM 更改之前设置,ajax 调用的成功部分发生在 DOM 更改之后,因此它可以解释新元素/数据

于 2013-03-29T14:07:08.750 回答