如何将多个事件添加到可折叠列表

how do I add multiple events to a collapsible list?

本文关键字:添加 可折叠 列表 事件      更新时间:2023-09-26

我正在修改购物车的后端。我需要在一个可折叠的嵌套列表中列出产品类别。我已经能够做到这一点与代码从Jochen:

$(function() {
  $('li > ul').each(function(i) {
    var parent_li = $(this).parent('li');
    parent_li.addClass('folder');
    var sub_ul = $(this).detach();
    parent_li.find('a').click(function() {
      sub_ul.toggle();
    });
    parent_li.append(sub_ul);
  });
  $('ul ul').hide();
});

但我也需要能够显示所有的产品在一个给定的类别时,该类别被点击。我想要的事件,导致页面做mysql调用在这一点上,然后在一个div中列出的产品,以折叠树的权利。

我是自学的,虽然我已经很擅长php了,但我已经好几年没有在普通的旧javascript中做过任何广泛的事情了,我担心我对ajax和jQuery感到困惑。如有任何帮助,我将不胜感激。

我试图实现由vinceh提出的备受赞赏的解决方案,但是尽管进行了几天的研究,我仍然无法弄清楚如何使用。data对象将类别传递给url。

谁对如何传递我需要的数据有任何想法?

我会添加一个点击事件到您的类别项目,并发送一个AJAX请求,这将检索必要的项目从数据库,并有它发送回页面呈现。你可以这样做:

$(".someClass").click( function() {
    $.ajax({
        url: "url/to/your/function",
        type: "GET",
        dataType: "script"
    });
});

但问题是,你需要通过url传递类别项,你可以通过JQuery将.data添加到你的对象中来做到这一点。

一旦服务器返回信息,你将渲染一些东西,这取决于你的框架如何做,你有不同的解决方案,但这只是一个简单的渲染动作,像.append你所有的项目到你想要的div

你可以添加很多选项到你的AJAX请求,使它做你想要的,请参考这更多的细节。好运!