Как создать интерактивные (вкл / выкл статус) элементы HTML, привязанные к списку<SelectItem>

Мне нужно создать массивные кликабельные HTML-элементы, которые имеют два состояния: извлечено / не выдвинуто. Только один элемент в этом массиве может быть в заданном состоянии. Это похоже на RadioButtonList. Также я должен привязать значение выбранного (нажатого) элемента к SelectedValueId в ViewModel. Любая помощь в этой конкретной теме приветствуется! Спасибо! Вот дизайн этого: введите описание изображения здесь

Единственное, что я получил до сих пор, это огромные ссылки:

<div class="content-right">
                @foreach (var item in Model.AvailablePrivacyStatuses)
                { 
                    <a onclick="doTheJob(@item.Value)" href="#">@item.Text</a>
                }
            </div>

Но как получить значение из doTheJob(@item.Value) в ViewModel?

1 ответ

    <div class="content-right">
@Html.HiddenFor(m => m.SelectedPrivacyStatusId)                    
@foreach (var item in Model.AvailablePrivacyStatuses)
                    {
                        <a data-id="@item.Value" class="selectable-button" id="status-link-@item.Value" href="#">@item.Text</a>
                    }
                </div>
                <script>
                    jQuery('div.content-right a')
                        .click(function () {
                            $(this).addClass('active');
                            $('div.content-right a').not(this).removeClass('active');
                            var id = this.getAttribute('data-id');
                            document.getElementById('SelectedPrivacyStatusId').value = id;
                        });


                </script>
Другие вопросы по тегам