0

我正在使用 jQuery 在 PHP 应用程序中创建功能区菜单。

我正在使用这个http://code.google.com/p/jquery-officebar/创建功能区菜单。

功能区菜单是在我的应用程序中创建的,但需要的是当您在一个菜单项上创建而不是在另一个选项卡中打开它时。之后我们需要能够单独关闭该选项卡。

功能区菜单是使用<ul><li>标签创建的。我试图添加一个新li onclick的菜单项。代码是:

$("#testRibbon ul").append('<li class="current"><span>Message Center</span></li>');

但我无法解决这个问题li。意味着当页面被刷新而不是li被删除。

谁能告诉我如何li在功能区菜单中添加新的ul

4

2 回答 2

0

利用

$("#testRibbon > ul").append('<li><a href="#" rel="my-rel" >Message Center</a></li>');
于 2013-04-24T04:29:41.613 回答
0

我对您的评论的回复(如何在 AJAX 中执行此操作):

这是一种混乱的方式,但这会给你(我认为)你想要的结果:

索引.php:

<?php session_start(); ?>
<!DOCTYPE html>
<html>
    <head>
        <title>AJAX</title>
        <style>
            .obj {
                padding:15px 15px;
                background:red;
            }
        </style>
    </head>
    <body>

        <div class="obj">Click Me</div>

        <ul class="items">
        </ul>

        <script type="text/javascript" src="jquery-1.8.0.min.js"></script>
        <script type="text/javascript">
            $(function() {

            //Retrieve current SESSION li tags

            $.ajax({
                type : 'POST',
                url : 'ajax.php',
                success: function(data) {
                    var json = $.parseJSON(data);
                    $.each(json, function(i, serverData) {
                        $('.items').append('<li class="item">' + serverData + '</li>');
                    });
                }

            });

            //add li tags and store to session

            var counter = 0;
            $('.obj').on('click', function() {

                counter++;
                $('.items').append('<li class="item">Foo' + counter + '</li>');

                var form_data,
                    li_array = new Array();

                $('.item').each(function() {
                    li_array.push( $(this).html() );
                });

                form_data = {
                    data : li_array
                };

                //set.php sets the SESSION data and appends the li tags to it for future reference
                $.ajax({
                    type : 'POST',
                    url : 'set.php',
                    data : form_data
                });

            });

        });
        </script>
    </body>
</html>

ajax.php:

<?php
session_start();

echo json_encode($_SESSION['li']);

?>

设置.php:

<?php
session_start();

$_SESSION['li'] = array();

foreach ($_POST['data'] as $data) { array_push($_SESSION['li'], $data); }

echo json_encode($_SESSION['li']);

?>

注意:这将保留 li 标签。取消它们的方法是清除会话。

于 2013-04-24T05:27:35.153 回答