只能从具有Ajax / PHP </div>的外部页面中选择<div>

时间:2013-03-08 18:07:01

标签: php javascript ajax html load

我有一点问题。因此,在<div>中检测到更改后,我正在使用Ajax将其他页面的内容加载到<select>。 但问题是,我只想将该外部页面中的特定<div>加载到我的主页面中。这是主页的代码:

<script type="text/javascript">
$(function(){
    createListeSelectWithDefault("categorie", <?php echo getJsCategorieListe()?>);
});
function showListes(str)
{
if (str=="")
  {
  document.getElementById("txtHint").innerHTML="";
  return;
  }
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","liste_result?q="+str,true);
xmlhttp.send();
}
</script>
<div id="content">
    <div id="bloc">
        <div id="title">Combiner</div>
        <div class="mx">
            <form name="new_combiner">
                <select id="categorie" name="categorie" onchange="showListes(this.value)"></select>
            </form>
        </div>  
        <div class="mx">
            <div id="txtHint">

            </div>
        </div>
    </div>
</div>

这是我的外部页面:

<html>
    <div> some other kind of text, no need to post it here, but can't take it away</div>
<div id="mainDiv">
    <?php
    $q=$_GET["q"];
    $liste = getListeByCategorie($q);
    echo "<table border='1'>
    <tr>
    <th>Titre</th>
    <th>Vues</th>
    </tr>";

    foreach($liste as $row)
    {
        echo "<tr>";
        echo "<td>" . $row->titre() . "</td>";
        echo "<td>" . $row->vue() . "</td>";
        echo "</tr>";
    }
    echo "</table>";
    ?>
</div>
           <div> some other kind of text, no need to post it here, but can't take it away</div>

所以你去了,仅此而已。我该怎么办?我只想将<div id="mainDiv">加载到我的页面中。

1 个答案:

答案 0 :(得分:1)

请更彻底地研究API。这个特殊的用例已经包含在内。

点击此处: http://api.jquery.com/load/
(参见“加载页面碎片”页面上的部分)

从API页面:

$('#result').load('ajax/test.html #container');

这会将带有id容器的div 加载,从外部页面test.html加载到请求页面上带有id结果的div。没有比这更简单(根据您的要求更改外部文档选择器)。