2015-06-18 2 views
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> 
+0

Почему ** txtOutputRating ** имеет ** OnTextChanged ** события и обратной передачи на сервер? Если вы знаете, что ** cmbOutputRating ** выбор изменен, ** cmbOutputRating ** может просто вернуть на сервер сам по себе, а не запускать ** txtOutputRating **. Я что-то упускаю? – Win

+0

@Win, txtOutputRating будет скрыт от пользователя и делает довольно много расчетов на бэкэнде. Мне нужно какое-то значение, которое пользователь вводит в/selects из cmbOutputRating и обновляет txtOutputRating с ним. Как только это произойдет, остальная часть работы выполняется с помощью txtOutputRating. Это просто ленивый способ не менять все txtOutputRating. – SimplyZ

+0

Почему не нужно событие 'OnSelectedIndexChanged' для combobox и сделать код C# в коде за файлом, чтобы установить значение текстового поля в' cmbOutputRating.SelectedItem.Text' – AzNjoE

ответ

0

Поле со списком отображается как вход, так что вы бы получить значение его следующим образом:

<script type="text/javascript"> 
function ddlChange() 
{ 
var cmb = document.getElementById('<%=cmbOutputRating.ClientID %>'); 
var textBox = document.getElementById('<%= txtOutputRating.ClientID%>'); 
textBox.value = cmb.value; 
} 
</script> 
Смежные вопросы