GrpSMK Ответов: 2

Как заполнить два текстовых поля из выбранного значения выпадающего списка


у меня есть два текстовых поля и один выпадающий список.

В выпадающих списках данные находятся
iphone4-12000
iphone4s-12500

подобный этому....

при выборе iphone4-12000 я хочу, чтобы дисплей отображался в двух текстовых полях..

одно текстовое поле iphon4(имя)

еще одно текстовое поле 12000(цена)

Что я уже пробовал:

<asp:DropDownList  ID="DropDownList1" runat="server">
                  <asp:ListItem Value="0">--Select--</asp:ListItem>
<asp:ListItem Value="1">Iphone4</asp:ListItem>
<asp:ListItem Value="2">Iphone4s</asp:ListItem>
<asp:ListItem Value="3">Iphone5</asp:ListItem>
<asp:ListItem Value="4">Iphone5s</asp:ListItem>
<asp:ListItem Value="5">Iphone6</asp:ListItem>
<asp:ListItem Value="6">Iphone6s</asp:ListItem>
<asp:ListItem Value="7">Iphone7</asp:ListItem>
<asp:ListItem Value="8">Iphone 7 Plus</asp:ListItem>


                </asp:DropDownList>

Graeme_Grant

Что вы пробовали до сих пор?

GrpSMK

охраняемых недействительными DropDownList1_SelectedIndexChanged(объект отправителя, EventArgs в электронной)
{
текстовый.Текст = DropDownList1.Элемент.Текст;

}

2 Ответов

Рейтинг:
1

GrpSMK

я знаю, как заполнить одно текстовое поле,я хочу разделить выпадающее значение и вставить в два текстовых поля

Рейтинг:
1

Karthik_Mahalingam

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
        {
           string text  = DropDownList1.SelectedItem.Text;
           string[] parts = text.Split('-');
           if (parts.Length == 2)
           {
               TextBox1.Text = parts[0];
               TextBox2.Text = parts[1];
           }

        }


использование JavaScript

<asp:DropDownList ID="DropDownList1" onchange="setvalues(this)" runat="server">
            <asp:ListItem Value="0">--Select--</asp:ListItem>
            <asp:ListItem Value="1">Iphone4-3333</asp:ListItem>
            <asp:ListItem Value="2">Iphone4s-43434</asp:ListItem>
            <asp:ListItem Value="3">Iphone5-454545</asp:ListItem>
            
        </asp:DropDownList>
        <asp:TextBox ID="txtName" runat="server"></asp:TextBox>
        <asp:TextBox ID="txtPrice" runat="server"></asp:TextBox>

function setvalues(obj)
        {
            var text = obj.options[obj.selectedIndex].text;
            var parts = text.split('-');
            document.getElementById('<%= txtName.ClientID %>').value = parts[0];
            document.getElementById('<%= txtPrice.ClientID %>').value = parts[1];

        }


Graeme_Grant

Это на JavaScript?

Karthik_Mahalingam

с#

Graeme_Grant

Это был риторический вопрос... Код в вопросе выглядел так, как будто он искал решение на javascript ... обратная связь-это долгий путь...

Karthik_Mahalingam

да, но он не отметил javascript в этом вопросе.
опубликовал JS-решение тоже.

Graeme_Grant

И не помеченный C#, если вы хотите пойти по этому пути...

Karthik_Mahalingam

:)

GrpSMK

эти текстовые поля в шаблоне нижнего колонтитула gridview,, получают ошибку
Сообщение об ошибке компилятора: CS0103: имя 'txtpname' не существует в текущем контексте

Karthik_Mahalingam

добавьте элемент управления на страницу.

GrpSMK

как же так?

Karthik_Mahalingam

перетащите текстовое поле и назовите его txtpname

GrpSMK

в шаблоне нижнего колонтитула gridview уже есть два текстовых поля

Karthik_Mahalingam

удалите и добавьте один раз, а затем создайте проект