Asp.net mvc 单选按钮在foreach循环MVC中不起作用
有人能解释一下为什么单选按钮在我看来不起作用吗?下面是代码片段Asp.net mvc 单选按钮在foreach循环MVC中不起作用,asp.net-mvc,.net-core-rc2,Asp.net Mvc,.net Core Rc2,有人能解释一下为什么单选按钮在我看来不起作用吗?下面是代码片段 @foreach (var item in Enum.GetNames(typeof(CertificateAuthorityChoiceTypes))) { <tr id="enum-tr" data-toggle="collapse"> <td> <label id="en
@foreach (var item in Enum.GetNames(typeof(CertificateAuthorityChoiceTypes)))
{
<tr id="enum-tr" data-toggle="collapse">
<td>
<label id="enum-val" class="c-input c-radio">
<input id="radio1" name="radio" type="radio">
<span class="c-indicator"></span>
@item
</label>
</td>
</tr>
}
@foreach(Enum.GetNames中的变量项(typeof(CertificateAuthorityChoiceTypes)))
{
@项目
}
正如你们所看到的,一切都在表中。当我将复选框代码粘贴到foreach循环之外时,复选框起作用,但在foreach内部,我就是不起作用。。请给我一些错误可能出现的地方的建议。收音机的id相同。收音机的id必须不同。尝试此代码
@foreach (var item in Enum.GetNames(typeof(Stream)))
{
<tr id="@("enum-tr"+Enum.GetNames(typeof(Stream)).ToList().IndexOf(item))" data-toggle="collapse">
<td>
<label id="@("enum-val"+Enum.GetNames(typeof(Stream)).ToList().IndexOf(item))" class="c-input c-radio">
<input id="@("radio"+Enum.GetNames(typeof(Stream)).ToList().IndexOf(item))" name="radio" type="radio">
<span class="c-indicator"></span>
@item
</label>
</td>
</tr>
}
@foreach(Enum.GetNames中的变量项(typeof(Stream)))
{
@项目
}
所以我终于找到了漏洞。。问题出在
<tr id="enum-tr" data-toggle="collapse">
当我删除
data toggle=“collapse”
复选框时,复选框开始正常工作您没有为每个单选按钮赋予值
属性(并且由于重复的id
属性,您生成的html无效)所以我给id赋值为@item,但它仍然不起作用。像这样更改id是的,我这样做了,但仍然不起作用,但如果我这样做,则最后一个项目将被选中,但其他项目则不起作用。您只能从具有相同名称的无线电组中选择一个无线电。仍然没有发生任何事情/