作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图在下拉选择列表中显示父子元素。如下图
我有foreach中的代码
@helper GetOption(List<Project_Cost_Management_System.Models.ChartOfAccount> model1, Guid? parentid)
{
foreach (var item3 in model1.Where(s => s.ParentAccountId.Equals(parentid)))
{
var zs3 = model1.Where(s => s.ParentAccountId == item3.Id);
int count3 = zs3.Count();
if (count3 >= 0)
{
if(@item3.ParentAccountId == null)
{
<option value="@item3.Id">@item3.Name</option>
}
else
{
var cout = model1.Count();
<option value="@item3.Id"> @item3.Name @model1.Where(s => s.dataid == @item3.dataparentid).Select(d => d.Name).First(). </option>
}
}
if (count3 > 0)
{
@GetOption(model1, item3.Id)
}
}
}
但它显示为
如何显示为第一张图片。
最佳答案
您可以使用 <optgroup>
来实现您正在寻找的东西,所以你呈现的 HTML 最终会是这样的:
<option value="...">Professional Fees</option>
<optgroup label="Property Related Expenses">
<option value="...">Maintenance Contribution</option>
...
</optgroup>
...
您可能遇到的唯一问题是您的实际分组本身不是有效选项,即您不能选择“与属性(property)相关的费用”,因为它只是一个分组标签。您也无法通过这种方式真正控制右对齐的描述性文本。一般来说,HTML select
元素非常严格,不允许进行大量自定义。
当您需要更高级的功能时,您必须移动某种库来创建一个“控件”,该控件模仿具有更多可自定义 HTML 元素的选择列表的功能。互联网上有一百万个不同的此类库,但我特别喜欢 Select2.js .特别是对于您的场景,请参阅“模板化”部分。
关于html - 如何在下拉列表中为子项目添加空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31339052/
我是一名优秀的程序员,十分优秀!