Я работаю над программой MVC.
Я использую язык Razor в представлении для отображения списка проектов (из базы данных через контроллер / модель) с помощью CheckBoxFor :
for (int i = 0; i < Model.ProjectList.Count; i++)
{
@Html.HiddenFor(m => m.ProjectList[i].Id)
<li>@Html.CheckBoxFor(m => m.ProjectList[i].IsChecked,
new { id = "projectList_" + i, className = "CheckBoxProject" })
@Model.ProjectList[i].Name</li>
}
Эта часть работает нормально.
Я хотел бы добавить еще один CheckBox, чтобы снять и отключить предыдущий ChekBoxFor и предотвратить их проверку.Я попытался сделать это с помощью некоторого JavaScript, поставив в конце View:
<input type="checkbox" id="SetBox" value="SetBox" onclick="CheckBoxState(this);">
<script type="text/javascript" onload="loaded=1">
function CheckBoxState(elementRef) {
document.querySelectorAll('.CheckBoxProject').checked = false;
document.querySelectorAll('.CheckBoxProject').disabled = true;
};
Так что, если я понимаю, что я сделал, то «onclick» должен вызвать функцию Javascript с именем «CheckBoxState» .Затем возьмите все CheckBox для класса className CheckBoxProject , снимите флажок и отключите их.
Когда я пытаюсь сделать это в Firefox, ничего не происходит, когда я проверяю последний CheckBox и инспектор страницы показываетпредупреждение что-то вроде (не на английском языке): не удалось загрузить скрипт, где источник "http://localhost:. ... / browserLink "
Я не уверен, как сказать View, что я использую Javascript, и если Razor язык способен работать с Javascript .
Я пыталсяразные способы кодирования JavaScript в зависимости от того, что я нашел в StackOverflow, и после нескольких сбоев я смиряюсь с вопросом ...