ajax实现dropdownlist无刷新二级联动

html 代码:

<asp:DropDownList ID="ddlSort" runat="server" οnchange="changeSelect(this.value);">
</asp:DropDownList>
&nbsp;&nbsp;
<asp:DropDownList ID="ddlSort2" runat="server" AutoPostBack="true">
<asp:ListItem Value="0" runat="server">选择二级分类</asp:ListItem>
</asp:DropDownList>
&nbsp;&nbsp;


js代码:

function changeSelect(selectId) {
$.post("/Admin/ajax/ShowSort2.aspx", { "id": selectId }, function (data) {

var xSel = data.getElementsByTagName("select");
//获得XML文档中的所有<select>标记
var select_root = document.getElementById("ddlSort2");
//获得网页中的第二个下拉框
select_root.options.length = 0;
//每次获得新的数据的时候先把每二个下拉框架的长度清0

// var option1 = new Option("选择二级分类", "0");
$("#ddlSort2").append("<option value='0'>选择二级分类</option>");

for (var i = 0; i < xSel.length; i++) {
var xValue = xSel[i].childNodes[0].firstChild.nodeValue;
//获得每个<select>标记中的第一个标记的值,也就是<value>标记的值
var xText = xSel[i].childNodes[1].firstChild.nodeValue;
//获得每个<select>标记中的第二个标记的值,也就是<text>标记的值

$("#ddlSort2").append("<option value=" + xValue + "\>" + xText + "\<\/option\>");
// var option = new Option(xText, xValue);
// //根据每组value和text标记的值创建一个option对象

// select_root.add(option); //将option对象添加到第二个下拉框中
}


});
}

ajax代码

object id = Request["id"];
if (id != null && id.ToString() != "")
{
if(StringHelper.IsInt(id.ToString()))
{
List<Cpsort2Model> list = new List<Cpsort2Model>();
list = CpsortManager.GetCpsort2BySortid(Convert.ToInt32(id.ToString()));

Response.ContentType = "text/xml";
Response.HeaderEncoding = System.Text.Encoding.GetEncoding("gb2312");

String xml_start = "<selects>";
String xml_end = "</selects>";
String xml = "";

for (int i = 0; i < list.Count; i++)
{
xml += "<select><value>"+list[i].Id2+"</value><text>"+list[i].Cpsort2+"</text></select>";
}

String last_xml = xml_start + xml + xml_end;
Response.Write(last_xml);

}
}



转载于:https://www.cnblogs.com/zhanghai/p/4461210.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值