2

I'm trying to populate on dropdown(i.e dropdown2) on the value basis of other dropdown(i.e dropdown1), It's populate fine,now my problem is when i'm click on asp button to get the selected value of dropdown 2 it will be return blank value, I'm not not understand what is going wrong?

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;
}
4

5 回答 5

6

如果您在 javascript 中添加选项,则无法从下拉列表中获取选定值。您可以使用:

string selectedValue = Request.Form[ddlDepartment.UniqueID];

问题

于 2013-08-16T08:59:18.320 回答
1

change this

if ($("#ddlFilter").val() > 0) 

to

if ($(this).val() > 0) 

change this

 $("#ddlDepartment").append( < option > New < option > );

to

$("#ddlDepartment").append( '<option>New</option>');
于 2013-08-16T08:54:23.090 回答
1

如果要从后面的 C# 代码中的下拉列表中获取值,则需要在第一个下拉列表 SelectedIndexChanged 事件中添加新项目,并将“新选项”添加到下拉项目集合中。

步骤是:

1) 为 ddlFilter 添加 SelectedIndexChanged
2) 检查 ddlFilter 的值是否为“1”
3) 如果值为“1”,则将“New Option” ListItem 添加到下拉列表名称 ddlDepartment。

然后,当按下按钮时,您应该获得选定的值,因为 item 现在位于下拉列表的集合中。

于 2013-08-16T09:01:15.197 回答
1

试试喜欢这个,

ddlFilter.Items[ddlFilter.SelectedIndex].Text;

将返回您的字符串文本Both,Add new

ddlFilter.Items[ddlFilter.SelectedIndex].value;

将返回您的价值0,1

于 2013-08-16T09:01:35.210 回答
0

您将找到 100 种解决方案dropdown

c#String Val=ddlDepartment.SelectedItem.Value;

于 2013-08-16T08:56:43.527 回答