0

我已经能够使用 ajax 和 php 来更新我的所有页面,除了导航内容。它拒绝与页面的其余部分一起播放。

我的 HTML 中的导航部分如下所示:

<nav id="nav">
    <div id="nav"></div>
    <ul>
        <li> 
            <a href="">Dropdown</a>
        <ul>
    </ul>  
</nav>

我的 Ajax 现在看起来像这样:

<script type="text/javascript">
var frm = $('#picker');
frm.submit(function () {
    $.ajax({
        type: frm.attr('method'),
        url: "http://xxxx.com/test.php",
        data: frm.serialize(),
        success: function (data) {
            $("#nav").html ( data );
        }
    });

    return false;
});
</script>

目前 php 应该回显“此代码有效”。如果我将它指向任何其他 div,它就可以工作,但如果我将它发送到导航,它就会拒绝工作。

任何帮助将不胜感激。这个细节让我发狂。如果我可以在不编辑我的 CSS 的情况下完成这项工作,将不胜感激。我在那个领域也不是很熟练,所以如果可能的话,我不愿意编辑任何代码。

更新:我尝试删除该行,但没有成功。在此之前删除线路会导致其他问题。

update2:我根据您的建议进行了一些编辑。还没有运气。

<nav id="nav">
    <div id="nav2"></div>
    </li>
       <li> 
         <a href="">Dropdown</a>
    <ul>
    </ul>   
    </nav>

并编辑 Ajax:

        <script type="text/javascript">
        var frm = $('#picker');
        frm.submit(function () {
                   $.ajax({
                          type: frm.attr('method'),
                          url: frm.attr('action'),
                          data: frm.serialize(),
                          success: function (data) {
                           $("#nav2").html ( data );
                          }
                          });

                   return false;
                   });
            </script>

再次感谢。

4

2 回答 2

0

HTML 中不允许有多个同名 ID。
尝试删除<div id="nav"></div>它应该可以工作

于 2013-10-06T19:12:12.497 回答
0

问题是您的 ajax 需要 id #nav 并且您有两个具有此 ID 的对象。删除一个,或重命名它。

一个 HTML 文档中不允许有多个具有相同 ID 的对象

于 2013-10-06T19:13:54.523 回答