0

我希望在单击我的潜水中的一个链接时从 .php 文件加载子链接。这可行,但我希望在单击“主页”链接时,再次返回原始链接。这也有效,但是当我重新单击这些链接之一时,子链接不再从 .php 文件中加载。

html页面:

<script>
    $(document).ready(function(){
        $(".link").click(function(){
            var value = $(this).attr("href");
            var linkName = {'href':value};
            alert(value);

            $.ajax({
                type: "POST",
                url: 'sublinks.php',
                data :linkName,
                success: function(response){
                    $('#target').html(response);
                }
            });
        }) ;
    })
</script>
.
.
.
<ul>
    <li><a href="#home" class="link">Home</a></li>
</ul>

<ul id="target">
    <li><a href="#book" class="link">books</a></li>
    <li><a href="#auth" class="link">authors</a></li>
</ul>

sublinks.php 文件

<html>
<body>
    <?php
        $name = $_POST['href'];
        $books = array('web','coocking','coding');
        $authers = array(111,222,333);

        if ($name == "#books") {
            foreach ($books as $v)
                echo "<li><a href=\"#eroom\">".$v."</li></a>";
        }
        else if ($name == "#authors") {
            foreach ($authers as $v)
                echo "<li><a href=\"#sroom\">".$v."</li></a>";
        }
        else if ($name == "#home") {
            echo "<li><a  href=\"#book\" class=\"link\">books</li></a>";
            echo "<li><a  href=\"#auth\" class=\"link\">authers</li></a>";
        }
    ?>
</body>
</html>
4

1 回答 1

1

尝试:

$('#target').on( 'click', 'a.link', function () { 
  ..your code here
});

编辑:我的意思是改变以下:

$(".link").click(function(){

$('#target').on( 'click', 'a.link', function () { 

补充:你也可以做

$(document).on('click', 'a.link', function() {
    .... rest of your code
});

编辑:此代码将添加一个委托,以便在a.link添加更多元素时,#target它们也将绑定其点击处理程序。

于 2013-01-28T11:15:10.097 回答