如何在前台取得异步绑定的DropdownList某项值

Mido5296889 2010-09-17 11:35:01
最近刚学习ASP.NET AJAX,好不容易实现了省、地市、地区三个下拉列表联动功能,其中地市、地区信息是从后台异步获取的,可是问题又来了,现在想从前台通过JS取得地市或者地区下拉列表中的某项值以便做进一步判断,可是由于数据时异步获取,html页面中无法找到列表绑定的值,请高手赐教,给点解决思路也行。大致代码如下:
<asp:DropDownList ID="drpProvince" runat="server" onselectedindexchanged="drpProvince_SelectedIndexChanged" AutoPostBack="true"></asp:DropDownList>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" RenderMode="Inline" UpdateMode="Conditional">
<ContentTemplate>
<asp:DropDownList ID="drpCity" runat="server" onselectedindexchanged="drpCity_SelectedIndexChanged" AutoPostBack="true"></asp:DropDownList>
<asp:DropDownList ID="drpArea" runat="server"></asp:DropDownList>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="drpProvince" EventName="SelectedIndexChanged"/>
<asp:AsyncPostBackTrigger ControlID="drpCity" EventName="SelectedIndexChanged"/>
</Triggers>
</asp:UpdatePanel>

后台主要代码:
protected void drpCity_SelectedIndexChanged(object sender, EventArgs e)
{
BindAreaData(drpProvince.SelectedItem.Text,drpCity.SelectedItem.Text);
}

protected void drpProvince_SelectedIndexChanged(object sender, EventArgs e)
{
BindCityData(drpProvince.SelectedItem.Text);
}


private void BindCityData(string province)
{
drpCity.Items.Clear();
drpCity.Items.Add(new ListItem("请选择地市", "0"));

DataTable dt = 数据集;

for (int i = 0; i < dt.Rows.Count; i++)
{
drpCity.Items.Add(new ListItem(dt.Rows[i]["city"].ToString(), ""));
}
}
...全文
320 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
shaoliang520xi 2010-11-05
  • 打赏
  • 举报
回复
function selectvalue(){
var value=$("#drpCity").val();
}
Mido5296889 2010-09-18
  • 打赏
  • 举报
回复
急求解决方式,顶下,别沉了
happy664618843 2010-09-18
  • 打赏
  • 举报
回复
传id过去 document.createElement() appendChild
浑沌滴年代 2010-09-18
  • 打赏
  • 举报
回复
试过这样没有
document.getElementById("<%= drpProvince.ClientID %>")

给点建议你,要用js写ajax的话,最好不要用服务器控件。。。

52,780

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧