我正在使用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
吗?
答案 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标签。废除它们的方法是清理会议。