无刷新无限级菜单联动

基于 tp5 layui select 四联动无限级联动 html 部分 <div class="layui-form-item layui-form-pane"> <label class="layui-form-label">城市联动</label> <div class="layui-input-inline" > <select name="province" lay-verify="required" lay-search="" lay. 阅读详情
功能:无刷新无限级菜单联动(原创:申请加精)

Asp.Net(C#)+AjaxPro+MSSQL(需引用AjaxPro.2.dll)



Infinite_Class.aspx
C# code
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Infinite_Class.aspx.cs" Inherits="Web.AJAXPro.Infinite_Class" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Infinite_Class无限级分类测试(作者QQ:241181876)--转载请注明出处</title> </head> <body> <form id="form1" runat="server"> <div> <span id="select1"></span></div> <hr /> <div id="test">ttt</div> <input type="button" value="设置值" onclick="iaocLianDong.SetValue(1,4,12,14,15,16,17,18,19);"> <input type="button" value="取值" onclick="alert(iaocLianDong.GetValue());"> <input type="button" value="读取第一个值" onclick="alert(document.getElementById('select1').childNodes[0].value)" /> <script language="javascript" type="text/javascript" defer="defer"> //Infinite_Class无限级分类测试(作者QQ:241181876)--转载请注明出处 function CreateOption(i1,pid1,myWebClientID) { var myWebClientID = document.getElementById(myWebClientID); this.CreateNewOption = function(i,pid) { var arr = Web.AJAXPro.Infinite_Class.GetClassList(""+pid+"").value; while(myWebClientID.childNodes.length-1>=i) { myWebClientID.removeChild(myWebClientID.childNodes[myWebClientID.childNodes.length - 1]); } var tmp; var created = false; for ( var j = 0; j < arr.Rows.length; j++) { if (arr.Rows[j][arr.Columns[2].Name] == pid) { if (created==false) { created = true; tmp = document.createElement("select"); tmp.setAttribute("id", "liandong_" + i); //tmp.setAttribute("multiple", "multiple");// tmp.options[tmp.length] = new Option("请选择", "-1"); tmp.onchange = function() { pp(parseInt(tmp.getAttribute("id").replace("liandong_",""))+1,tmp.value); }; myWebClientID.appendChild(tmp); } tmp.options[tmp.options.length] = new Option(arr.Rows[j][arr.Columns[1].Name], arr.Rows[j][arr.Columns[0].Name]); } } } var pp = this.CreateNewOption; this.GetValue = function() { var value = ""; for (var i=0; i<myWebClientID.childNodes.length; i++) { var obj = myWebClientID.childNodes[i]; for (var j=0; j<obj.options.length; j++) { if (obj.options[j].selected) { value += obj.options[j].value + ","; break; } } } return value; } this.SetValue = function() { for (var i=0; i<arguments.length; i++) { myWebClientID.childNodes[i].value = arguments[i]; this.CreateNewOption(i+1, arguments[i]); } } this.CreateNewOption(i1,pid1); } var iaocLianDong = new CreateOption(0,0,"select1"); </script> </form> </body> </html>

Infinite_Class.aspx.cs
C# code
using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; using BLL; //Infinite_Class无限级分类测试(作者QQ:241181876)--转载请注明出处,感谢 小灰 提供指导 namespace Web.AJAXPro { public partial class Infinite_Class : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { AjaxPro.Utility.RegisterTypeForAjax(typeof(Infinite_Class)); } [AjaxPro.AjaxMethod] public DataTable GetClassList(string pid) { SqlConnection conn = new SqlConnection("Server=.;DataBase=IAOC;uid=sa;pwd="); conn.Open(); SqlCommand cmd = new SqlCommand("Select Cid,ClassName,pid from InfiniteClass Where pid=" + pid + " order by orderby desc", conn); DataTable dt = new DataTable("class"); SqlDataAdapter sda = new SqlDataAdapter(cmd); sda.Fill(dt); conn.Close(); return dt; } } }

SQL测试环境
SQL code
use zdl_data CREATE TABLE [dbo].[InfiniteClass]( [cid] [int] IDENTITY(1,1) NOT NULL, [PID] [int] NULL, [ClassName] [nvarchar](50) NULL, [Orderby] [int] NULL, ) insert into InfiniteClass(PID,ClassName,OrderBy) values(0,'a1',1) insert into InfiniteClass(PID,ClassName,OrderBy) values(0,'b2',1) insert into InfiniteClass(PID,ClassName,OrderBy) values(0,'c3',1) insert into InfiniteClass(PID,ClassName,OrderBy) values(1,'a11',1) insert into InfiniteClass(PID,ClassName,OrderBy) values(1,'a12',1) insert into InfiniteClass(PID,ClassName,OrderBy) values(1,'a13',1) insert into InfiniteClass(PID,ClassName,OrderBy) values(1,'a14',1) insert into InfiniteClass(PID,ClassName,OrderBy) values(2,'b21',1) insert into InfiniteClass(PID,ClassName,OrderBy) values(2,'b22',1) insert into InfiniteClass(PID,ClassName,OrderBy) values(3,'c31',1) insert into InfiniteClass(PID,ClassName,OrderBy) values(3,'c32',1) insert into InfiniteClass(PID,ClassName,OrderBy) values(4,'a1111',1) insert into InfiniteClass(PID,ClassName,OrderBy) values(4,'a1112',1) insert into InfiniteClass(PID,ClassName,OrderBy) values(12,'a11111',1) insert into InfiniteClass(PID,ClassName,OrderBy) values(14,'a111111',1) insert into InfiniteClass(PID,ClassName,OrderBy) values(15,'a1111111',1) insert into InfiniteClass(PID,ClassName,OrderBy) values(16,'a11111111',1) insert into InfiniteClass(PID,ClassName,OrderBy) values(17,'a111111111',1) insert into InfiniteClass(PID,ClassName,OrderBy) values(18,'a1111111111',1) insert into InfiniteClass(PID,ClassName,OrderBy) values(8,'b211',1) insert into InfiniteClass(PID,ClassName,OrderBy) values(20,'b2111',1)
Ajax技术实现无限级联动下拉框项目实战 Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它允许网页动态地读取服务器上的数据,并在用户界面上进行展示。通过Ajax,前端页面可以仅通过JavaScript异步地与后端服务器交换数据。用户在使用联动下拉框时,首先会与最顶层的下拉菜单进行交互。一旦用户选择了其中一个选项,页面就会异步地向服务器发出请求,获取与之相关联的次数据。然后,次下拉菜单会根据这些数据进行更新,展示新的选项列表供用户选择。 阅读详情

相关推荐

ASP实现三联动表及其数据库交互技术

本文还有配套的精品资源,点击获取 简介:本文探讨了如何利用ASP技术创建三联动下拉菜单,并与数据库进行交互。三联动常见于地区选择、产品分类等场景,本文详细介绍了数据库的创建与表结构设计,以及ASP脚本如何通过ADO与数据库连接和操作,实现动态数据更新。同时,本文还涉及了JavaScript/jQuery在客户端的使用,以优化用户体验。最终,读者将掌握实现响应式Web应用...

weixin_42452924的博客 1350

联动菜单ASP代码

一款多菜单联动asp代码,包括三、四、多等,比较好用,值得下载学习

ASP联动下拉菜单 (XML+Access)

内容索引:ASP源码,其它类别,菜单,下拉菜单  ASP联动Selcet下拉菜单 ,结合XML+Access编写,动态读取数据库,使用时加载,减少服务器压力,运行截图如上所示。

刷新实现无限级联动菜单(转贴)

简介:此文发表由冰河原创的:无刷新实现无限级联动菜单,由XMHTTP,JAVASCRIPT,ASP实现,看分为三个部分,文件 index.htm、文件 server.asp、 数据库 data.mdb代码就数据库文档如下:index.htm**************************************************使用说明及注意事项:假如有N边动菜单.j

Wish神思者的专栏 1506

ASP联动菜单,很老的问题了

就拿最常用的“省市下拉列表联动”作为例子吧!        在我们制作网站会员注册信息时,一般会涉及到填写自己所在省/市,如果用input或textarea做成填写形式不太理想。所以大部分网站都会选择联动下来列表形式,做起来也不算很复杂,同时看上去也很轻松。        具体做法如下:        1.设计数据库        我们选用Access数据库。首先,新建名为database1.md

boigel的专栏 2261

用AJAX+ASP实现的两联动下拉菜单

以前在实现两联动下拉菜单的时候,要么不断的刷新,要么是在页面载入时下载所有栏目,用JAVASCRIPT来控制。现在有了更好的选择:AJAX。index.htm<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.d...

weixin_33834628的博客 244

ajax实现无限级联动 针对select做得,其他可以仿照修改

//obj:主select菜单对象;//aspaddress:asp处理文件地址以及要传递的参数;//toobj:从select菜单对象;//firstxml:返回的第一个XML节点名;//secondxml:返回的第二个XML节点名;//toobjoptionlength:从select菜单对象初始option个数;//注意:在传递各个对象值得时候,尽量使用$(id),比

lsf5921的专栏 1306

cascade down_基于jquery的无限级联下拉框js插件

灵活性方面考虑了比较多的方面,提供了几个重要的配置方便在各类环境下使用,欢迎各位童鞋使用,源码完全开放。开发这个插件的缘于前段时间维护一个4联下拉框被里面200行代码及复杂的结构和bug所郁闷(之所以这么多代码是因为该联下拉框有时只出现2个或3个),想到这类的需求其实经常都能遇到,jquery里没有这样比较好的插件,索性自己开发个。源代码并不复杂,稍微复杂的地方在第二个插件使用了缓存,造成理...

weixin_39679061的博客 425

【转载】Javascript 实现无刷新联动菜单(select)的方法

作者: CodeBit     来源: CodeBit.cn     时间: 2007-04-26 08:12:30 摘要: 所谓联动菜单,就是后一个下拉框的选项是根据前一个下拉框被选中的值来决定的,一个典型的应用就是省市联动菜单了,市的下拉选项是根据你选了哪个省来决定的,类似的需求我们经常遇到,相信许多新手都被这个问题困扰过。其实,联动菜单的实现原理非常简单,本文详细介绍了联动菜单的实现...

ManGo0317的专栏 245

Javascript 实现无刷新联动菜单(select)的方法

所谓联动菜单,就是后一个下拉框的选项是根据前一个下拉框被选中的值来决定的,一个典型的应用就是省市联动菜单了,市的下拉选项是根据你选了哪个省来决定的,类似的需求我们经常遇到,相信许多新手都被这个问题困扰过。其实,联动菜单的实现原理非常简单,本文详细介绍了联动菜单的实现方式,知道了原理,我们可以很容易地制作从XML、数据库加载的无限级联动菜单。-----------------------------

bibishou的专栏 907

动态无刷新联下拉框(无限制)[转载]

前几天做联下拉框,网上搜索了一下,挺多的,静态的居多,动态的也有,但遗憾的是没有找到我需要的。后来我自己写了一个脚本,实现了从数据库中取出数据,形成动态的下拉框, 可以是无限级(因为实现方法是把页面的下拉框名称当作参数传递,因为同一页面相同名称的控件是不存在的,因此可以实现),当然这些可能无意义,现在就看三下拉框。无刷新,是因为页面加载时把数据全部加载到了页面中;实现动态联,是因为下...

☆ lijun ☆ 128

联动联动联动 无限级联动下拉列表或菜单专题

联动联动联动 无限级联动下拉列表或菜单专题 三维数组数据源  A - 请选择 - 北京市 天津市 河北省 山西省

柳永法的个人博客 1万+

Asp+Ajax无限级联动下拉框菜单Access版

Asp+Ajax无限级联动下拉框菜单Access版

JS实现无刷新联动菜单(select)的方法

所谓联动菜单,就是后一个下拉框的选项是根据前一个下拉框被选中的值来决定的,一个典型的应用就是省市联动菜单了,市的下拉选项是根据你选了哪个省来决定的,类似的需求我们经常遇到,相信许多新手都被这个问题困扰过。 其实,联动菜单的实现原理非常简单,本文详细介绍了联动菜单的实现方式,知道了原理,我们可以很容易地制作从XML、数据库加载的无限级联动菜单联动菜单的实现方法: 1、确定数据格式 首先,

脑袋不好使 685

Javascript + Asp +Access 三联动列表框

作用说明:选择一类别, 关联显示隶属二类别, 再关联显示隶属于二类别的三类别 程序代码连接数据库表sqlsupercat= "select * from ctglossarysupercat"sqlsubcat= "Select a.*, b.*, c.* FROM (ctglossarysubcat AS a left JOIN ctglossarysubsubcat as c o

hize的专栏 1230

请问谁有ASP5联动的源代码

 我在开发一个考试系统的时候人做到一个5联动的代码,可以不帮助我一下嘛.请发到我的邮箱谢谢!

yongbnm的专栏 274

ASP联动

    dim cid,coid    cid = request("cid")  cid   大类id    coid = request("coid")   coid  中类id     set rs=server.createobject("adodb.recordset")        sql = "select * from edu_c"    表一  大类表     rs.o

yfly13的专栏 680

ASP + 数据库 + JavaScript 实现动态无限级联动菜单

演示地址http://www.why9.com/sort/CREATE TABLE [pp_Sort] ( [id] [int] IDENTITY (1, 1) NOT NULL , [name] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL , [upperid] [int] NULL CONSTRAINT [DF_pp_Sort_upperi

Thomas Petrelking CSDN Blog 2033
上一篇: .net 实现URL重写
下一篇: 网页制作常用技术
fangasp
博客等级 码龄18年 1粉丝 2原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值