2009-12-13 81 views
1

好吧,我想在html中编写并行复选框菜单,但不知何故,我的逻辑没有帮助。可能有些专家可以帮助我一点。这是我希望我的菜单看起来如何treeview复选框菜单

[] Menu 1     [] Menu 2 

    [] Item 1     [] Item 5 

    [] Item 2     [] Item 4 

项目1,2位于菜单1和5,4位于菜单2下方框括号表示复选框。 菜单下的项目实际上是动态收集的,它们在不同菜单下的编号可能会有所不同。

回答

1

如果您的问题仅限于HTML和CSS,则可以使用paddingmargin属性进行适当的缩进。

如果你有关于编程逻辑的问题来生成这样的树结构,请写下你正在使用的语言。

+0

我使用Java(JSP),用于产生这样的结构。 – yogsma 2009-12-13 09:04:12

+0

对不起,但我使用PHP,所以我不知道我该如何帮助你。 PHP模板引擎不适合您的情况。但是,您可以使用XSL转换来生成HTML输出。据我所知,你可以在JSP中使用它。链接XSLT元素for-each - http://www.w3schools.com/xsl/xsl_for_each.asp – Alex 2009-12-13 09:09:43

2

我会建议使用列表和浮动的div。根据列表可以很容易地嵌套尽可能多的复选框树。

<div style="float:left;"> 
Menu 1 
<ul> 
    <li>Item 1</li> 
    <li>Item 2 
     <ul> 
     <li>Item 2a</li> 
     <li>Item 2b</li> 
     </ul> 
    </li> 
</ul> 
</div> 

<div style="float:left; margin-left:30px;"> 
Menu 2 
<ul> 
    <li>Item 1</li> 
    <li>Item 2 
     <ul> 
     <li>Item 2a</li> 
     <li>Item 2b</li> 
     </ul> 
    </li> 
</ul> 
</div> 

这将有双重嵌套。只需在给定的无序列表<ul>标记中添加更多列表项目<li>,即可按特定缩进间隔制作任意数量的复选框。

+0

我会试试这个。 – yogsma 2009-12-13 09:23:55

+0

很酷。另外,如果你想抵消你的专栏,以避免它们靠得太近,你可以像Alex Pilipenko建议的那样用一个边距来实现(例如,为div风格添加margin-left:xx)。编辑的答案包括这个。 – Roman 2009-12-13 09:29:30

1

你可能想看看jQuery库jstree。我将它用于我的树形视图,它绝对是最先进的树视图。
它是惊人的可配置,并易于使用。 它有一个复选框插件,我在我的项目中使用。这对我来说非常合适。
开发非常活跃,所以即使您可能发现问题,开发人员也会非常反应,并会帮助您。

看看这里:http://jstree.com 和复选框演示是here

好运:)