如何将新li永久添加到jquery功能区?

时间:2013-04-24 04:19:41

标签: javascript jquery

我正在使用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吗?

2 个答案:

答案 0 :(得分:0)

使用

$("#testRibbon > ul").append('<li><a href="#" rel="my-rel" >Message Center</a></li>');

答案 1 :(得分:0)

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

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

index.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']);

?>

set.php:

<?php
session_start();

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

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

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

?>

注意:这将保留li标签。废除它们的方法是清理会议。