2014-09-01 51 views
0



介绍jQuery的HTML表格:
在我的部门 ,一个同事和我试图建立基于Django框架一个库存控制系统。基本上,大部分的东西都在工作。但目前,我们遇到了jQuery的一些问题。想象一下,我们的数据库中有一些设备,例如一部手机,其中我们想要了解所有组件的详细视图。这些设备中的每一个都具有一些子组件(例如主板),其也可以具有子组件(例如CPU,RAM等)。

说明:
的方法的django的实现(在HTML文件中),它提供了nessecary数据,如下所示:展开依赖于intendation串

 {% for module in submodels %} 
      <p> 
       {{ module.intentation }} || submodules: {{ module.has_subs }} || {{ module.object }} 
      </p> 
     {% endfor %} 

如果模块的子模块,方法has_subs返回true。 模块本身的意图被列在字符串中,方法intentation返回。

在这种情况下,我们想动态扩展一个关于子模块的HTML表格。下图显示了我们正在考虑的内容。

> | 1.1  | OLED 
V | 1.2  | Motherboard 
    | 1.2.1 | CPU 
    | 1.2.2 | RAM 
> | 1.3  | Battery 
> | 1.4  | Motion Sensor 

如果模件的标志has_subs是TRUE,所有的次级(其在该方法的intentation返回字符串列出)模块应该扩大。例如:通过点击主板(1.2),所有子模块的扩展名为intentation。 (模块意图的数据结构具有以下零:例如对于OLED: 1.1.0.0,主板:1.2.0.0,CPU:1.2.1.0,RAM:1.2.2.0,...)

问题:
我们如何才能实现这个功能与jQuery扩大表?我们虽然关于一个jquery函数,它分析了意图字符串和has_subs值。

我们还想实现两个按钮“全部关闭”和“全部展开”。




感谢您的帮助,
问候马修

回答

0

你会希望有一个标签,如:

{% if module.has_subs %} 
    <p class ="with-subs-p"> 
     Module Name 
    </p> 
    <div class="with-subs-d"> 
     # Print each of the subs in whatever format you like 
    </div> 
{% else %} 
    <p>Module Name</p> 
... 

这是所有的HTML和标签,CSS /格式化也取决于你。

jQuery的相对简单也:

$(document).ready(function() 
{ 

    $(".with-subs-d").hide(); 
    $(".with-subs-p").click(function() 
    { 
    $(this).next(".with-subs-d").slideToggle(600); 
    }); 
}); 
+0

这个答案没有任何与我的问题... – matthieu 2014-09-03 07:53:33

+0

为清楚起见你能解释一下为什么?在那张纸上,出于兴趣,什么是“intendation”? – JBux 2014-09-03 08:49:14