简单的下拉列表联动实现

HTML结构:

1     <select name="" id="select1"></select>
2     <select name="" id="select2"></select>
3     <select name="" id="select3"></select>

Data代码:

 1     var people = [
 2         {"id":"p1","name":"科幻小说"},
 3         {"id":"p2","name":"奇幻小说"},
 4         {"id":"p3","name":"历史架空"}
 5     ];
 6     var bookName = [
 7         [
 8             {"id":"kh1","name":"大宇宙时代"},
 9             {"id":"kh2","name":"星际战舰"},
10             {"id":"kh3","name":"地球纪元"}
11         ],
12         [
13             {"id":"qh1","name":"巫师之旅"},
14             {"id":"qh2","name":"完美世界"}
15         ],
16         [
17             {"id":"jk1","name":"清末英雄"},
18             {"id":"jk2","name":"1852铁血中华"}
19         ]
20     ];
21     var author = [
22         ["zhttty","彩虹之门","彩虹之门2"],
23         ["一行白鹭上青天","辰东"],
24         ["贰零肆柒","绯红之月"]
25     ];

JS代码:

 1     function linkage(){
 2
 3         var box1 = document.getElementById("select1"),
 4             box2 = document.getElementById("select2"),
 5             box3 = document.getElementById("select3"),
 6             v1 = 0,
 7             v2 = 0;
 8
 9         var A = [];
10         for(var i=0;i<people.length;i++){
11             A.push(‘<option id="‘+ people[i].id +‘">‘+ people[i].name +‘</option>‘);
12         }
13         box1.innerHTML = A.join(‘‘);
14
15         function getBook(){
16
17             var a = [];
18             for(var i=0;i<bookName[v1].length;i++){
19                 a.push(‘<option id="‘+ bookName[v1][i].id +‘">‘+ bookName[v1][i].name +‘</option>‘);
20             }
21             box2.innerHTML = a.join(‘‘);
22         }
23
24         function getAuthor(){
25             var result = ‘<option>‘+ author[v1][v2]+‘</option>‘;
26             box3.innerHTML = result;
27
28         }
29
30         // 默认生成
31         getBook();
32         getAuthor();
33
34         //控制联动生成
35         box1.onchange=function(){
36             v1 = box1.selectedIndex;
37             getBook();
38             v2 = box2.selectedIndex;
39             getAuthor();
40         };
41
42         box2.onchange=function(){
43             v2 = box2.selectedIndex;
44             getAuthor();
45         }
46     }
47
48 linkage();

思路:

  我的思路就是通过第一个下拉列表的selectIndex值来控制第二个下拉列表内容的生成,并在获取第二个selectIndex值去控制第三个。

  而第二个则控制通过自身的selectIndex值去控制第三个内容的生成,依次类推。

总的来说,每个下拉列表排除控制自身的生成,都会控制所有其它的生成。

 

时间: 2024-12-27 23:20:28

简单的下拉列表联动实现的相关文章

基于MVC3下拉列表联动(JQuery)

MVC3 上次项目中遇到一个需要多个下拉列表联动的操作,今天有空将实现方式整理以便以后参考. 要达到的效果是,点击一个下拉框,则另一个下拉框的值发生对应变化.如:选择中国,则另个一下拉框里显示中国各个省份. 传统的HTML方式比较简单,实际上基于MVC的实现方式也大同小异. 直接上代码: public class DP_Provice     {        public int proviceID { get; set; }        public string ProviceName

JQuery+Ajax实战三级下拉列表联动(八)

本片文章为练习,项目中不会这样写: 一:涉及到的知识点: jQuery Dom操作 jQuery Ajax操作 ASP.net中的json操作 二:用了自动代码生成器 1.Dal层的代码: public static partial class BranchTwoService { /// <summary> /// 根据一级机构的ID得二级机构列表 /// </summary> /// <param name="branchOneId">1级机构I

几个数据库的小案例(二):极其简单的省市联动

总用有两个文件(frmMain.cs SqlHelper.cs) //frmMain.cs//作者:Meusing System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace 省市联动

下拉列表联动显示(Car表) 三级联动

1.Models namespace 下拉列表联动显示_Car表_.Models { public class ProductorBF { private MyDBDataContext _context=new MyDBDataContext(); public List<productor> Select() //厂商全部显示 { return _context.productor.ToList(); } } } namespace 下拉列表联动显示_Car表_.Models { publ

JAVA EE 项目经常使用知识 之AJAX技术实现select下拉列表联动的两种使用方法(让你真正理解ajax)

ajax 下拉列表联动的使用方法. ajax的定义: AJAX 是一种用于创建高速动态网页的技术. 通过在后台与server进行少量数据交换,AJAX 能够使网页实现异步更新.这意味着能够在不又一次载入整个网页的情况下,对网页的某部分进行更新. ajax效果的一个样例: 区域为空的时候,维护人情况: 选了一个区域后的情况:(选 舒城县 联带出来的维护人员 小刘) 一.原生态的js实现 XMLHttpRequest 是 AJAX 的基础 XMLHttpRequest 对象 全部现代浏览器均支持 X

下拉列表联动显示(中国省市)三级联动

最主要的就是要判断谁根据谁编写的!!!理清思路!!! 1.Models namespace 下拉列表联动显示_中国省市_.Models { public class ChinaBF { private MyDBDataContext _context = new MyDBDataContext(); public List<ChinaStates> Select() { return _context.ChinaStates.ToList(); } //因为所有数据都在一个表里, 都是根据Pa

JAVA EE 项目常用知识 之AJAX技术实现select下拉列表联动的两种用法(让你真正理解ajax)

ajax 下拉列表联动的用法. ajax的定义: AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. ajax效果的一个例子: 区域为空的时候,维护人情况: 选了一个区域后的情况:(选 舒城县 联带出来的维护人员 小刘) 一.原生态的js实现 XMLHttpRequest 是 AJAX 的基础 XMLHttpRequest 对象 所有现代浏览器均支持 XMLHttp

JavaScript基础 简单的二级联动下拉列表

镇场诗: 清心感悟智慧语,不着世间名与利.学水处下纳百川,舍尽贡高我慢意. 学有小成返哺根,愿铸一良心博客.诚心于此写经验,愿见文者得启发.------------------------------------------ code: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"

一个简单的二级联动效果,看完之后立马你也可以写一个(有源码,纯js,带注释)

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>选择</title> <meta name="viewport" content="initial-scale=1.0, width=device-width,minimum-scale=1.0,maximum-scale=1