Я пытаюсь добавить событие на стороне клиента в раскрывающийся список, и мне нужно получить доступ к выбранному в данный момент тексту. Я пробовал:получить текст vaule на стороне клиента dropdownlist
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 на стороне сервера, он разорвет флажок в тегах и отключит значение = true; поэтому вы должны установить BOTH 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');");
Спасибо за помощь!
«UNASSIGNED» ссылается на option.text или option.value? –
текст. Существует другое значение. Но даже если я поставлю == 'abc123', когда событие срабатывает, он будет оценивать false, а chekbox должен быть отключен = false. поэтому я не думаю, что это может быть проблемой. – kralco626