1
У меня есть это combobox, и мне нужно заполнить текстовое поле с выбранным значением combobox на стороне клиента. То, что у меня, похоже, не работает. Правильно ли я делаю это?Как заполнить asp: Текстовое поле с использованием значения в ComboBox
<asp:ComboBox ID="cmbOutputRating" runat="server"
DropDownStyle="DropDown"
AutoCompleteMode="Suggest"
CaseSensitive="false"
RenderMode="Inline"
ItemInsertLocation="Append"
onchange="javascript:ddlChange();">
</asp:ComboBox>
Вот текстовое поле:
<asp:TextBox ID="txtOutputRating" runat="server"
CssClass="inputFieldSmall"
OnTextChanged="txtOutputRating_TextChanged"
AutoPostBack="True"
meta:resourcekey="txtOutputRatingResource1">
</asp:TextBox>
Вот JavaScript:
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
<script type="text/javascript">
function ddlChange()
{
var cmb = document.getElementById('<%=cmbOutputRating.ClientID %>');
var textBox = document.getElementById('<%= txtOutputRating.ClientID%>');
textBox.value = cmb.options[cmb.selectedIndex].value;
}
</script>
</asp:Content>
Почему ** txtOutputRating ** имеет ** OnTextChanged ** события и обратной передачи на сервер? Если вы знаете, что ** cmbOutputRating ** выбор изменен, ** cmbOutputRating ** может просто вернуть на сервер сам по себе, а не запускать ** txtOutputRating **. Я что-то упускаю? – Win
@Win, txtOutputRating будет скрыт от пользователя и делает довольно много расчетов на бэкэнде. Мне нужно какое-то значение, которое пользователь вводит в/selects из cmbOutputRating и обновляет txtOutputRating с ним. Как только это произойдет, остальная часть работы выполняется с помощью txtOutputRating. Это просто ленивый способ не менять все txtOutputRating. – SimplyZ
Почему не нужно событие 'OnSelectedIndexChanged' для combobox и сделать код C# в коде за файлом, чтобы установить значение текстового поля в' cmbOutputRating.SelectedItem.Text' – AzNjoE