Добавить условие if в чековую книжку в html

мне нужно то же самое, что и условие в флажке с использованием HTML. например, если флажок имеет какое-то значение, тогда он отмечен, в противном случае флажок не установлен.

Код

<label><input type = "checkbox" name = "SelectedRoles[]" value = "@role.Id" @if (Model.SelectedRoles.Contains(role.Name)) { <text> checked = "checked" </text> } />

Почему бы просто не использовать Html.Checkbox() или Html.CheckBoxFor()?

Rory McCrossan 10.02.2019 15:19

Я думаю, что CheckBoxFor — лучшее решение этой проблемы.

Behrouz Pooladrak 10.02.2019 15:26
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
2
136
3

Ответы 3

Вы не можете написать подобную логику в HTML, вы должны использовать Javascript.

Попробуйте что-то вроде этого:

let checkboxElement = document.getElementsById('elementId');

window.onload = function() {
    let myValue = 'someValue';
    if (checkboxElement === myValue) {
        checkboxElement.checked = true;
    } else {
        checkboxElement.checked = false;
    }
}

ОП использует Razor: docs.microsoft.com/en-us/aspnet/web-pages/overview/…

David 10.02.2019 15:30

Спасибо, я не был знаком с этим синтаксисом

Bartolomej 10.02.2019 15:44

Не используйте блок if, просто используйте одно выражение, которое условно что-то выводит.

Шаг за шагом... По сути, в Razor любое значение после @ будет выведено. Например:

@someVariable

Это «значение» также может быть результатом выражения, такого как вызов функции. Например:

@someFunction(someVariable)

Если ваше выражение содержит несколько токенов, просто сделайте то, что вы сделали бы в любом коде C#, и заключите его в круглые скобки:

@(1 + 1)

Используя все это, то же самое верно и для вашего условного вывода с использованием тернарный оператор. Просто используйте тернарный оператор, чтобы написать свое выражение, и оберните все это в @(), чтобы вывести результат:

@(Model.SelectedRoles.Contains(role.Name) ? "checked=\"checked\"" : string.Empty)

Попробуйте @helper для любых условий, подобных приведенным выше:

@model MyProject.Role 
@helper checkRole(Role role) { 
                if (Model.SelectedRoles.Contains(role.Name))
                {
                      <input type = "checkbox" name = "SelectedRoles[]" value = "@role.Id" checked />     
                } else{
                       <input type = "checkbox" name = "SelectedRoles[]" value = "@role.Id"/>     
                }
}    

а затем вызовите свой метод из своего html следующим образом:

 @checkRole(role)    

Другие вопросы по теме