RadioButton:从视图代码设置焦点不起作用
RadioButton: setting focus from view code not working
如果用户已登录或已经在结帐过程中输入了他的个人数据,则单选按钮从视图代码中获取 class focus
和 active
(salutation = true 表示用户是 userxy 先生):
<label class="btn btn-secondary btn-salutation @(salutation && (loggedIn || WebShopSession.Instance().WebShopCheckout.IsSalutationSet) ? "focus active" : "")">
@Html.RadioButtonFor(model => model.Salutation, true, new { @class = "visibleradio" }) Herr
</label>
从视觉上看,这很有效(并且 classes 已设置,如上所示):
但是当我点击按钮继续下一步时,我收到一个验证错误,提示未设置单选按钮。
奇怪的是,同样的方法在结帐的另一个地方工作正常,当从视图代码设置交付和付款时
<label for="@("shippingoption" + currentShipping)" class="btn btn-secondary btn-salutation @(shippingMethod.Id == WebShopSession.Instance().WebShopCheckout.ShippingID ? "active focus" : "")" onclick="setShippingData('@(shippingMethod.Name)', '@(shippingMethod.Price)')">
您可能会注意到,在代码的第一行中,class 命令是 focus active,在第二个示例中它是 active focus ,但我也尝试更改它,但没有效果;)
编辑:
我还尝试给单选按钮 id 并添加 for="radiouniqueid"
到标签,但这并没有改变。
编辑:
我也试过这个:
<label class="btn btn-secondary btn-salutation focus active">
它适用于其他单选按钮,但不适用于此处。
整个组长这样:
<div class="btn-group btn-group-toggle" data-toggle="buttons">
<label class="btn btn-secondary btn-salutation @(salutation && (loggedIn || WebShopSession.Instance().WebShopCheckout.IsSalutationSet) ? "focus active" : "")">
@Html.RadioButtonFor(model => model.Salutation, true, new { @class = "visibleradio" }) Herr
</label>
<label class="btn btn-secondary btn-salutation @(!salutation && (loggedIn || WebShopSession.Instance().WebShopCheckout.IsSalutationSet) ? "focus active" : "")">
@Html.RadioButtonFor(model => model.Salutation, false, new { @class = "visibleradio" }) Frau
</label>
</div>
那么,我在这里没有看到什么?
谢谢
有时你在编码时是盲目的...
我需要像这样设置属性 Checked
:
<label class="btn btn-secondary btn-salutation @(salutation && (loggedIn || WebShopSession.Instance().WebShopCheckout.IsSalutationSet) ? "focus active" : "")">
@Html.RadioButtonFor(model => model.Salutation, true, new { @class = "visibleradio", @Checked = salutation && (loggedIn || WebShopSession.Instance().WebShopCheckout.IsSalutationSet) ? "checked" : "" }) Herr
</label>
如果用户已登录或已经在结帐过程中输入了他的个人数据,则单选按钮从视图代码中获取 class focus
和 active
(salutation = true 表示用户是 userxy 先生):
<label class="btn btn-secondary btn-salutation @(salutation && (loggedIn || WebShopSession.Instance().WebShopCheckout.IsSalutationSet) ? "focus active" : "")">
@Html.RadioButtonFor(model => model.Salutation, true, new { @class = "visibleradio" }) Herr
</label>
从视觉上看,这很有效(并且 classes 已设置,如上所示):
但是当我点击按钮继续下一步时,我收到一个验证错误,提示未设置单选按钮。
奇怪的是,同样的方法在结帐的另一个地方工作正常,当从视图代码设置交付和付款时
<label for="@("shippingoption" + currentShipping)" class="btn btn-secondary btn-salutation @(shippingMethod.Id == WebShopSession.Instance().WebShopCheckout.ShippingID ? "active focus" : "")" onclick="setShippingData('@(shippingMethod.Name)', '@(shippingMethod.Price)')">
您可能会注意到,在代码的第一行中,class 命令是 focus active,在第二个示例中它是 active focus ,但我也尝试更改它,但没有效果;)
编辑:
我还尝试给单选按钮 id 并添加 for="radiouniqueid"
到标签,但这并没有改变。
编辑: 我也试过这个:
<label class="btn btn-secondary btn-salutation focus active">
它适用于其他单选按钮,但不适用于此处。
整个组长这样:
<div class="btn-group btn-group-toggle" data-toggle="buttons">
<label class="btn btn-secondary btn-salutation @(salutation && (loggedIn || WebShopSession.Instance().WebShopCheckout.IsSalutationSet) ? "focus active" : "")">
@Html.RadioButtonFor(model => model.Salutation, true, new { @class = "visibleradio" }) Herr
</label>
<label class="btn btn-secondary btn-salutation @(!salutation && (loggedIn || WebShopSession.Instance().WebShopCheckout.IsSalutationSet) ? "focus active" : "")">
@Html.RadioButtonFor(model => model.Salutation, false, new { @class = "visibleradio" }) Frau
</label>
</div>
那么,我在这里没有看到什么? 谢谢
有时你在编码时是盲目的...
我需要像这样设置属性 Checked
:
<label class="btn btn-secondary btn-salutation @(salutation && (loggedIn || WebShopSession.Instance().WebShopCheckout.IsSalutationSet) ? "focus active" : "")">
@Html.RadioButtonFor(model => model.Salutation, true, new { @class = "visibleradio", @Checked = salutation && (loggedIn || WebShopSession.Instance().WebShopCheckout.IsSalutationSet) ? "checked" : "" }) Herr
</label>