Если пользователь вошел в систему или уже ввел свои личные данные в процессе оформления заказа, переключатель получает класс 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>
Визуально это работает хорошо (и классы установлены, как вы можете видеть выше):
Но когда я нажимаю на кнопку, чтобы перейти к следующему шагу, я получаю ошибку проверки, говорящую, что переключатель не установлен.
СтранноДело в том, что этот же метод отлично работает в другом месте при оформлении заказа, при настройке доставки и оплаты из кода вида
<label for="@("shippingoption" + currentShipping)" class="btn btn-secondary btn-salutation @(shippingMethod.Id == WebShopSession.Instance().WebShopCheckout.ShippingID ? "active focus" : "")" onclick="setShippingData('@(shippingMethod.Name)', '@(shippingMethod.Price)')">
Как вы можете заметить, в первых строках кода порядок классов равен focusactive , а во втором примере это active focus , но я также пытался изменить это, и это не имело никакого эффекта;)
EDIT : я тожепопытался присвоить идентификаторы переключателей и добавил 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>
Итак, что же я здесь не вижу?Спасибо