我如何动态地生成一个多层次的下拉菜单
How can I dynamically generate a multi-level dropdown menu with angular?
我使用bootstrap制作了一个带有多个复选框的下拉菜单(参见http://jsfiddle.net/rxdazn/ryzJb/3/)。这个下拉菜单将引入在同一图表上绘制多个图形("测量")的可能性+多个选项(对数比例尺等)。
一个值列表(对应于"measures")将被存储在json对象中。现在,我只使用一个选择(用户只能绘制一个图表,没有图形类型和选项):
<select ng-model="measure" ng-options="facet.path as facet.name for facet in station.facet_groups[0].facets"></select>
我怎样才能最好地处理每个度量类型将具有相同子菜单的事实?
我应该改变我的HTML吗?我应该动态生成<input>
id
属性的值吗?
<!-- graph type -->
<li class="dropdown-submenu"> <a href="#">Graph type</a>
<ul class="dropdown-menu">
<li>
<input type="checkbox" id="line" name="graph" value="line">
<label for="line">line</label>
</li>
<li>
<input type="checkbox" id="dot" name="graph" value="dot">
<label for="dot">dot</label>
</li>
</ul>
由于id
在页面上必须是唯一的,您肯定应该动态生成它们;另外,您可能还希望在input
元素中生成name
属性,但这完全取决于您的用例。根据你的想法,我认为你可以像这样生成你的菜单:
<ul id="menu">
<li class="dropdown-submenu" ng-repeat="facet in facets"> <a href="#">{{facet.name}}</a>
<ul class="dropdown-menu">
<li>
<input type="checkbox" id="{{facet.name}}-line" name="{{facet.name}}-graph" value="line">
<label for="line">line</label>
</li>
<li>
<input type="checkbox" id="{{facet.name}}-dot" name="{{facet.name}}-graph" value="dot">
<label for="dot">dot</label>
</li>
</ul>
</li>
</ul>
我尝试基于facet.name
生成id
和name
,您可能想要更改它以适应您的需要。
相关文章:
- 在node.js中从设备向服务器发送一个多部分请求
- 当使用jQuery/Javascript选择一个多选时,如何使所有值都不被选中:
- 我正在使用php includes来构建一个多页面网站.使用jquery,我将如何添加一个类"活动的”;添加到
- 在javascript/jquery中构建一个多部分/表单数据请求
- RequireJS和一个多语言网站
- Javascript:可以动态创建一个多维数组
- 将 2 个数组组合成一个多维数组
- 在一页中打印一个多表的表格
- JS在JavaScript中绘制一个多色螺旋
- 如何构造一个多部分MIME请求并使用AngularJS的$http方法发布它
- JavaScripting .sort()'ing 一个多维分数数组来排序玩家名称
- 如何解析一个多层次对象的键中包含点(.)的对象
- 如何将两个数组循环成一个多维数组
- 如果一个数组存在于另一个多维数组中,如何从多维数组中删除该数组
- 想要用谷歌分析标记一个多选表单-需要JavaScript指导
- 用javascript创建一个多维数组
- 从一个多维数组中删除元素
- 在javascript中将n个数组合并为一个多维数组
- 我如何动态地生成一个多层次的下拉菜单
- 我如何创建一个多层次的下拉菜单包含图像最好使用css