Я пытаюсь добавить событие на стороне клиента в выпадающий список, и мне нужен доступ к выбранному в настоящее время тексту. Я пробовал:
ddl_tech.Attributes.Add("onclick", "document.getElementById('" + chk_techreview.ClientID + "').disabled = this.options[this.selectedIndex].text.Equals(' UNASSIGNED');");
и
ddl_tech.Attributes.Add("onclick", "document.getElementById('" + chk_techreview.ClientID + "').disabled = this.text.Equals(' UNASSIGNED');");
Оба из них дают мне ошибки времени выполнения при запуске события.
Как правильно обращаться к клиенту на стороне этого текстового свойства?
Я пробовал это, но он не включает флажок ...
ddl_tech.Attributes.Add("onchange", "document.getElementById('" + chk_techreview.ClientID + "').disabled = this.options[this.selectedIndex].text == ' UNASSIGNED';");
ОТВЕТ:
Что ж, наряду с необходимостью использовать == вместо .Equals, когда вы устанавливаете checkbox.enabled = false на стороне сервера, он сбрасывает флажок в тегах и устанавливает его в disabled = true; поэтому вы должны установить ОБА checkbox.disabled = false и checkbox.parentElement.disabled = false; на стороне клиента, чтобы включить флажок!
Решение:
ddl_tech.Attributes.Add("onchange", "document.getElementById('" + chk_techreview.ClientID + "').parentElement.disabled = (this.options[this.selectedIndex].text == 'UNASSIGNED'); document.getElementById('" + chk_techreview.ClientID + "').disabled = (this.options[this.selectedIndex].text == 'UNASSIGNED');");
Спасибо за помощь!