0

ajaxをロードしたdivからElementByIdを取得しようとしていますが、できません。説明しましょう:

「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>

しかし、id='table_page' の入力は ajax ファイル 'loaded.php' でロードされます。ファイル「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 が変更される前に設定されることです。DOM が変更された後に ajax 呼び出しの成功部分が発生するため、新しい要素/データを説明できます。

于 2013-03-29T14:07:08.750 に答える