动态添加DropDownList 的(通过ajax) 联动方式

page:

<form id="form1" runat="server">

<div>
<asp:DropDownList ID="ddlType" οnchange="JavaScript:selectChange(this.selectedIndex);" runat="server">
</asp:DropDownList>
<asp:DropDownList ID="ddlSubType" runat="server">
</asp:DropDownList>
</div>

</form>


js

<script language="javascript" type="text/javascript">
var typestring = "";
var subtypestring = "";
$(document).ready(function () {
$.ajax({
type: 'get',
url: 'Handler/GetType.ashx',
data: { Type: "all" },
cache: false,
complete: callback
});
});


function callback(str) {
var types = str.responseText;
typestring = types.split("_")[0];
subtypestring = types.split("_")[1];


var typelen = typestring.split(";").length;
var dropType = document.getElementById("<%=ddlType.ClientID%>");
var types = "";


for (i = 0; i < typelen; i++) {
types = typestring.split(";")[i]


dropType.options[i] = new Option(types.split("|")[1], types.split("|")[0]);
}


var selectIndex = $("#ddlType").val();
selectChange(selectIndex);


}
function selectChange(keyvalue) {
var subtypestr = Search(keyvalue);
var typesublen = subtypestr.split(";").length;
var dropSubType = document.getElementById("<%=ddlSubType.ClientID%>");
for (i = 0; i < typesublen; i++) {
var typessub = subtypestr.split(";")[i]
dropSubType.options[i] = new Option(typessub.split("|")[2], typessub.split("|")[1]);
}
}


function Search(key) {
var returnstring = "";
var leng = subtypestring.split(";").length
for (var i = 0; i < leng; i++) {
if (key == subtypestring.split(";")[i].split("|")[0]) {
returnstring += subtypestring.split(";")[i] + ";"
}
}
return returnstring.substr(0, returnstring.length - 1);
}


</script>


GetType.ashx 数据库获取数据

context.Response.ContentType = "text/plain";
DataTable typeDT = new DataTable();
string typeString = string.Empty;
typeDT = SQLHelp.RunSQLReturnDT("select * from tb_Type");
for (int i = 0; i < typeDT.Rows.Count; i++)
{
typeString += typeDT.Rows[i]["SeqNo"].ToString() + "|" + typeDT.Rows[i]["TypeName"].ToString()+";";
}
typeString = typeString.TrimEnd(';');
DataTable subTypeDT = new DataTable();
string subTypeString = string.Empty;
subTypeDT = SQLHelp.RunSQLReturnDT("select * from tb_SubType");
for (int i = 0; i < subTypeDT.Rows.Count; i++)
{
subTypeString += subTypeDT.Rows[i]["TypeSeq"].ToString() + "|" + subTypeDT.Rows[i]["SeqNo"].ToString() + "|" + subTypeDT.Rows[i]["SubTypeName"].ToString() + ";";
}
subTypeString = subTypeString.TrimEnd(';');
context.Response.Write(typeString + "_" + subTypeString);


sql:

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tb_SubType]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tb_SubType](
[ID] [int] IDENTITY(1,1) NOT NULL,
[TypeSeq] [int] NULL,
[SubTypeName] [nvarchar](50) NULL,
[SeqNo] [int] NULL,
[Orders] [int] NULL,
[Visible] [bit] NOT NULL CONSTRAINT [DF_Visual_SubType_Visible] DEFAULT ((0)),
CONSTRAINT [PK_Visual_SubType] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tb_Type]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[tb_Type](
[ID] [int] IDENTITY(1,1) NOT NULL,
[TypeName] [nvarchar](50) NULL,
[SeqNo] [int] NULL,
[Orders] [int] NULL,
[Visible] [bit] NOT NULL CONSTRAINT [DF_Visual_Type_Visible] DEFAULT ((0)),
CONSTRAINT [PK_Visual_Type] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值