2010-02-01 2 views
0

Я хотел преобразовать свое поле ставки, используя один раскрывающийся список, чтобы преобразовать его. Например, если выпадающий список выбран в Японии, когда пользователь выбирает и изменяет на малайзию, поле ставки автоматически изменится на малайзийский курс с курса Японии. Кто-нибудь? ... Спасибо ...-Контактный указатель конверсии-

+0

Пожалуйста, укажите язык программирования. – SingleShot

+0

У вас есть * любой * код вообще? –

+0

asp.net vb language, nope..I не имеет кода на этом – tohru

ответ

1

Выпадающие списки имеют два значения - текст и значение. Вы либо привязали свой выпадающий список к набору элементов (возможно, в IEnumerable, как массив или List). Таким образом, все, что вам нужно сделать, это перехватить событие onchange на стороне клиента, захватить выбранное значение раскрывающегося списка и поместить его в ярлык/текстовое поле, которое показывает скорость. Вот вам пример:

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:DropDownList ID="DropDownList1" runat="server" onchange="javascript:PopulateRate(this.value);"></asp:DropDownList> 
     <asp:Label ID="Label1" runat="server" Text=""></asp:Label> 
     <asp:TextBox ID="TextBox1" runat="server" onchange="javascript:SelectRate(this.value);" style="width: 100px;"></asp:TextBox> 
    </div> 
    </form> 
</body> 

    <script language="javascript"> 
     function PopulateRate(value) { 
      //debugger; 
      document.getElementById('<% =Label1Name() %>').innerText = value; 
     } 
     function SelectRate(value) { 
      var z = document.getElementById('<% =DropDownList1Name() %>'); 
      //method 1 to set dropdown selected item: 
      z.value = value; 
      //method 2 to set dropdown selected item:: 
      for (var i = 0; i < z.options.length; i++) { 
       if (z.options[i].value == value) { 
        z.options[i].selected = true; 
        return; 
       } 
      } 
     } 
    </script> 

</html> 


Partial Class _Default 
Inherits System.Web.UI.Page 

Protected Overrides Sub OnLoad(ByVal e As System.EventArgs) 
    MyBase.OnLoad(e) 

    Dim countryRates = New System.Collections.Generic.Dictionary(Of String, Decimal) 

    countryRates.Add("Japan", 1.0) 
    countryRates.Add("Malaysia", 1.5) 
    countryRates.Add("Khazakstan", 1.75) 
    countryRates.Add("Argentina", 2.0) 
    countryRates.Add("Andorra", 2.5) 

    DropDownList1.DataTextField = "Key" 
    DropDownList1.DataValueField = "value" 
    DropDownList1.DataSource = countryRates 
    DropDownList1.DataBind() 
End Sub 

Protected Property Label1Name() As String 
    Get 
     Return Label1.UniqueID 
    End Get 
    Set(ByVal value As String) 

    End Set 
End Property 
Protected Property DropDownList1Name() As String 
    Get 
     Return DropDownList1.UniqueID 
    End Get 
    Set(ByVal value As String) 

    End Set 
End Property 
End Class 

Из вашего описания показано, как сделать то, что вы хотите. Я просто хочу, чтобы вы знали, что мне больно делать этот образец в VB.Net :) (так что вам придется извинить мой дряблый код VB, я обычно делаю C#)

+0

спасибо большое !!! =) это нормально ... = D – tohru

+0

ohya, я хочу спросить, возможно ли, что мы получим метку и преобразовать его в выбранный раскрывающийся список ... – tohru

+0

Да, возможно, проверьте мое исправленное сообщение, которое включает текстовое поле, когда вы вводите в него значение и отбрасываете фокус, выбрано эквивалентное значение в выпадающем списке. – slugster

Смежные вопросы