jQuery JSON实现无刷新三级联动实例探讨_jquery

js教程评论148 views阅读模式
复制代码 代码如下:









js:

复制代码 代码如下:




LoadClass.ashx:

复制代码 代码如下:

<%@ WebHandler Language="C#" Class="LoadClass" %>

using System;

using System.Web;

using System.Text;

using System.Data;

public class LoadClass : IHttpHandler {

public void ProcessRequest (HttpContext context) {

// 数组 [{"ID":"275","Cname":"A1"},{"ID":"319","Cname":"A2"},{"ID":"322","Cname":"A3"}]

int strId = Convert.ToInt32(context.Request["ddlId"]);

string strSQL = "select * from Class where parent_Ptr=" + strId + " order by classOrder asc ";

db d = new db();

DataTable dt = d.getDT(strSQL);

StringBuilder strClass = new StringBuilder();

if (dt != null)

{

strClass.Append("[");

for (int i = 0; i < dt.Rows.Count; i++)

{

strClass.Append("{");

strClass.Append("\"ID\":\"" + dt.Rows[i]["id"].ToString() + "\",");

strClass.Append("\"Cname\":\"" + dt.Rows[i]["classCname"].ToString() + "\"");

if (i != dt.Rows.Count - 1)

{

strClass.Append("},");

}

}

}

strClass.Append("}");

strClass.Append("]");

context.Response.ContentType = "application/json";

context.Response.ContentEncoding = Encoding.UTF8;

context.Response.Write(strClass.ToString());

context.Response.End();

}

public bool IsReusable {

get {

return false;

}

}

}

注意:

复制代码 代码如下:

//后台只能获取value值,不能直接获取text,需要通过js、控件中转

//结果:275 276 277

Label1.Text = Request.Form[ddl1.UniqueID] + " " + Request.Form["ddl2"] + " " + Request.Form[ddl3.ClientID.Replace("_", "$")] ;遇到的问题:下拉框text的值通过HiddenField控件中转






把选中下拉框的值赋予隐藏控件中:

选择下拉框后 动态赋值到HiddenField 控件中的值 无法与下拉框选中的值相对应!

可能与初始化有关,赋值这段代码应该放到什么地方呢?或者有什么好的方法,欢迎讨论?

企鹅博客
  • 本文由 发表于 2020年9月9日 04:32:02
  • 转载请务必保留本文链接:https://www.qieseo.com/422148.html

发表评论