Я хочу отображать текстовое поле, используя JavaScript, когда опция «Другое» выбрана из группы флажков. Я использую бритвенные страницы с ядром asp.net 2.2
Я использую следующий скрипт, но он не работает.
function onSelectChange() {
var sel = document.getElementById('QuestionOptionId');
var strUser = sel.options[sel.selectedIndex].text;
if (strUser.startsWith('Other'))
document.getElementById('textBox').disabled = false;
else
document.getElementById('textBox').disabled = true;
}
</script>
Fruits.cshtml (файл просмотра страницы бритвы)
@foreach (var option in Model.QuestionOptions)
{
<input type="checkbox" asp-for="QuestionOptionId" id ="QuestionOptionId" value ="@option.Value" onclick="onSelectChange()" /> @option.Text<br />
}
QuestionOptions - это список выбора:
Value=1 Text= Apple,
Value=2 Text= Kiwi,
Value=3 Text =Other
всякий раз, когда пользователь устанавливает флажок «Другое», он должен отображать текстовое поле.
Что я здесь не так делаю? Я прочитал так много других ответов, но не смог понять этот.
Обновление-1
Я не знаю, почему в посте не отображается текстовое поле ...
Я вставляю это здесь снова, это вне цикла foreach. Я убрал угловые скобки, так как думаю, что это смешивание с форматированием.
input type = "text" id = "textBox" name = "response" disabled = "disabled"