我使用Razor 3 radiobuttons创建:
@Html.RadioButtonFor(model => model.SelectType, "Checking")
@Html.RadioButtonFor(model => model.SelectType, "Funds")
@Html.RadioButtonFor(model => model.SelectType, "MoneyMarket")
Razor创建了以下HTML:
<input id="SelectType" name="SelectType" type="radio" value="Checking" />
<input id="SelectType" name="SelectType" type="radio" value="Funds" />
<input id="SelectType" name="SelectType" type="radio" value="MoneyMarket" />
现在我想使用JQuery隐藏一些选项,具体取决于检查哪个RadioButton。我做不到,因为每个radiobutton都有相同的Id。 任何想法如何解决这个问题?
谢谢,
ž
答案 0 :(得分:1)
tymeJV 表示只需手动分配id
。
@Html.RadioButtonFor(model => model.SelectType, "Checking", new { id = "rbChecking" })
答案 1 :(得分:0)
你可以传递一个ID:
@Html.RadioButtonFor(m => m.SelectType, "Checking", new { id = "rb1" })
或者,对于更通用的东西,如何定义一个将值附加到名称以生成唯一ID的扩展方法(假设每个值只有一个单选按钮)?类似的东西:
public static MvcHtmlString UniqueRadioButtonFor<TModel, TValue>(
this HtmlHelper<TModel> helper, Expression<Func<TModel, TValue>> expression,
string value)
{
string id = String.Format("{0}_{1}", helper.NameFor(expression), value);
return helper.RadioButtonFor(expression, value, new { id = id });
}
然后,您可以这样做:
@Html.UniqueRadioButtonFor(m => m.SelectType, "Checking")
您将获得一个唯一的ID。