我对C#比较陌生,我已经在互联网上研究了几天了。我需要将asp.net DropDownList中选择的值声明为JavaScript变量。我主要研究<asp:hiddenfield>
,但我不确定这是否是最好的选择。所以我有两个问题:
<asp:hiddenfield>
是最佳选择吗?如何将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"/>
答案 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;