将DropDownList值保存到javascript变量中

时间:2013-06-06 15:18:47

标签: c# javascript asp.net hidden-fields

我对C#比较陌生,我已经在互联网上研究了几天了。我需要将asp.net DropDownList中选择的值声明为JavaScript变量。我主要研究<asp:hiddenfield>,但我不确定这是否是最好的选择。所以我有两个问题:

  1. <asp:hiddenfield>是最佳选择吗?
  2. 如何将C#字符串声明为javascript变量?

    <asp:DropDownList runat="server" ID="dropDownID">
        <asp:ListItem Text="-- Select Reason --" Value=""></asp:ListItem>
        <asp:ListItem Text="Booking" Value="1"></asp:ListItem>
        <asp:ListItem Text="Discussing" Value="2"></asp:ListItem>
        <asp:ListItem Text="Quotation" Value="3"></asp:ListItem>
    </asp:DropDownList>
    
    <asp:hiddenfield ID="valueInHiddenField" value="" runat="server"/> 
    

3 个答案:

答案 0 :(得分:0)

<script type="text/javascript">
    var serverDropdown = document.getElementById('dropDownID');
    var reasonIndex = serverDropdown.selectedIndex;
    var reasonValue = serverDropdown.value;
</script>

答案 1 :(得分:0)

将此<asp:DropDownList runat="server" ID="dropDownID">更改为:

<asp:DropDownList runat="server" ID="dropDownID" ClientIDMode="Static">

然后使用此JavaScript获取值:

var val = document.getElementById('dropDownID').value;

答案 2 :(得分:0)

要在javascript变量中存储下拉列表值,则无需使用隐藏字段

试试这个......

 <script type="text/javascript">
     var dropdown_value = document.getElementById('<%=dropDownID.ClientID%>').value;
 </script>

这里代替dropdownID我们必须使用它的ClientID .....在asp.net 4.0中你可以直接使用 通过执行下拉列表的ClientIDMode =“静态”来获取其ID。

     var dropdown_value = document.getElementById('dropDownID').value;