首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有RadioButtonFor的Id

带有RadioButtonFor的Id
EN

Stack Overflow用户
提问于 2018-08-27 19:40:23
回答 1查看 483关注 0票数 0

我正在尝试处理asp MVC 5中的单选按钮ids。

我是这样工作的

示例模型

代码语言:javascript
复制
class A
{
   public bool? radio { get; set; }
}

在剃刀视图中

代码语言:javascript
复制
@Html.RadioButtonFor(x => x.NeutroBT, Model.NeutroBT, new { @id = "True"})
@Html.RadioButtonFor(x => x.NeutroBT, !Model.NeutroBT, new { @id = "False})

这不会造成问题,但我在一个编辑器模板中工作,我希望它生成id,以便以某种方式从其他视图访问@Html.IdFor(x => x.NeutroBT, true)@Html.IdFor(x => x.NeutroBT, false),只是为了防止将来发生更改

像这样的可能吗?我花了很多时间寻找,但没有找到任何类似的东西

如果不可能,最好的处理方法是什么?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-27 20:38:26

不需要使用id属性。相反,您可以只使用javascript属性来选择或设置值(在任何情况下,@Html.IdFor() will only ever returnNeutroBT, not theidthat you override in theRadioButtonFor()`方法,因此它不能在您的情况下使用)。

另外,RadioButtonFor()的第二个参数应该是truefalse (不是Model.NeutroBT!Model.NeutroBT)。

要将标签与按钮相关联,可以将其包装在<label>中,例如

代码语言:javascript
复制
<label>
    @Html.RadioButtonFor(x => x.NeutroBT, true, new { id = ""})
    <span>Yes</span>
</label>
<label>
    @Html.RadioButtonFor(x => x.NeutroBT, false, new { id = ""})
    <span>No</span>
</label>

请注意,new { id = "" }删除了id属性,并防止由于重复的id属性而导致的无效html。

然后使用jQuery访问选定的值

代码语言:javascript
复制
var selectedValue = $('input[name="' + @Html.NameFor(x => x.NeutroBT) + '"]:checked').val();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52038509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档