我正在尝试在其他下拉列表(即dropdown1)的值基础上填充下拉列表(即dropdown2),它填充正常,现在我的问题是当我点击asp按钮获取下拉列表的选定值时2它将返回空白值,我不明白出了什么问题?
HTML
<select runat="server" id="ddlFilter" ClientIDMode="Static">
<option value="0">Both</option>
<option value="1">Add new</option>
<select runat="server" id="ddlDepartment" ClientIDMode="Static"></select>
<asp:Button ID="btnSearch" runat="server" Text="Show Report" CssClass="search_btn" onclick="btnSearch_Click" />
JS
<script>
$(document).ready(function () {
$("#ddlFilter").change(function () {
if ($("#ddlFilter").val() > 0) {
$("#ddlDepartment").append( < option > New < option > );
}
});
});
</script>
C#
protected void btnSearch_Click(object sender, EventArgs e) {
string val= ddlDepartment.Value;
}
答案 0 :(得分:6)
如果您在javascript中添加选项,则无法从下拉列表中获取所选值。 你可以使用:
string selectedValue = Request.Form[ddlDepartment.UniqueID];
请参阅Question
答案 1 :(得分:1)
更改此
if ($("#ddlFilter").val() > 0)
到
if ($(this).val() > 0)
更改此
$("#ddlDepartment").append( < option > New < option > );
到
$("#ddlDepartment").append( '<option>New</option>');
答案 2 :(得分:1)
如果要从C#代码后面的下拉列表中获取值,则需要在第一个下拉列表中添加新项目列出SelectedIndexChanged事件,并将“新选项”添加到下拉项目集合中。
步骤如下:
1)为ddlFilter添加SelectedIndexChanged
2)检查ddlFilter的值是否为“1”
3)如果值为“1”,则将“新选项”ListItem添加到下拉列表名称ddlDepartment。
然后当按下按钮时,您应该获得所选值,因为项目现在位于下拉列表集合中。
答案 3 :(得分:1)
尝试喜欢这个,
ddlFilter.Items[ddlFilter.SelectedIndex].Text;
将返回您的字符串文字Both,Add new
ddlFilter.Items[ddlFilter.SelectedIndex].value;
将返回您的值0,1
答案 4 :(得分:0)
您将找到dropdown
的100个解决方案,
c#
:String Val=ddlDepartment.SelectedItem.Value;