加载数据,插入后和滑动
问题描述:
我是一个jquery新手,想做个滑动表。 该orinal表具有3级:加载数据,插入后和滑动
<ul class="categories">
<li id="category1">1 element</li> //parentid=0
<li id="category2">2 element</li> //parentid=0
<ul>
<li id="category3">1 element of element id2</li> //parentid=2
<ul>
<li id="category4">1 element id3</li> //parentid=3
</ul>
</li>
</ul>
</li>
</ul>
第一级元件已PARENTID = 0,ID = 1 ++,下一级嵌套parentId的并有自己的ID等。
只有1的parentid级负载= 0
<ul class="categories">
<li id="category1">1 element</li> //parentid=0
<li id="category2">2 element</li> //parentid=0
</ul>
然后,我要点击李,采取ID ID - 去文件,执行mysql的,得到新表中的变量,把它在LI下滑动并滑动。
PHP端
这将返回我的ID,我需要回到列表和切换它。
现在新的UL连接,但我jquery不能使用它,更新脚本与下面的,但仍然不能。
修订版的JQuery
$(".tablecategoryname").on('click', function(){
var $a = $(this).closest('li').attr('id');
var $c = $(this).closest('li');
$.ajax({
type: "POST",
url: "functions.php",
data: {subcategory:$a},
cache: false,
success: function(data)
{
$(data).hide().insertAfter($c).slideDown(400);
}
});
});
答
ID的不应该只包含一个数字(或以数字开头),你应该使用#a1
或类似的东西。在你发送一个对象的数据参数中,并且equalsigns不起作用。
$(".table li").on('click', function(){
var self = this;
$.ajax({
type: "POST",
url: "functions.php",
data: {id : self.id},
cache: false
}).done(function(data) {
//guessing you're returning valid HTML
$(data).hide().insertAfter(self).slideDown(400);
});
});
编辑:
你build_category_tree()函数需要返回的HTML,所以你可以重复回Ajax请求:
if(isset($_POST['subcategory'])){
echo $subcategory = str_replace('category', '', $_POST['subcategory']);
$ULtree = build_category_tree($subcategory); // builds the UL tree
echo $ULtree; //echo back to Ajax
}
答
你应该把一个ID在你的主ul要抓住他的父母,并且他们在主ul中切换列表。 。
$( “ul.umenu> LI)。点击(函数(e)中{
e.preventDefault();
var element = $(this);
if (element.parent().find("ul").is(":visible")) {
} else {
$("ul.umain> li > ul").slideUp();
element.parent().find("ul").slideToggle("fast");
}
});
$(” #1里“)附加( '
那不是这么简单:) – mozg 2013-02-15 14:23:44