RadioButton:从视图代码设置焦点无效

时间:2019-01-04 06:10:28

标签: asp.net-mvc radio-button focus

如果用户已登录或已经在结帐过程中输入了他的个人数据,则单选按钮会从视图代码中获取类focusactive(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>

enter image description here

在外观上,这很好用(并且设置了类,如您在上面看到的):

enter image description here

但是,当我单击按钮继续下一步时,我收到一条验证错误,提示未设置单选按钮。

奇怪的是,当根据视图代码设置投放和付款时,相同的方法在结帐的另一个地方也可以正常工作

<label for="@("shippingoption" + currentShipping)" class="btn btn-secondary btn-salutation @(shippingMethod.Id == WebShopSession.Instance().WebShopCheckout.ShippingID ? "active focus" : "")" onclick="setShippingData('@(shippingMethod.Name)', '@(shippingMethod.Price)')">

您可能会注意到,在代码的第一行中,类顺序是 focus focus ,在第二个示例中,类顺序是 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>

那么,我在这里没看到什么? 谢谢

1 个答案:

答案 0 :(得分:0)

有时您在编码时失明...

我需要这样设置属性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>