ajax实现下拉框联动

2023-11-01

          spring mvc+bootstrap


           最近在做一个新闻不发布网站,网站栏目需要实现下拉框联动,因为没有用到前端框架,因此需要自己来写,废话不多说,思路是,跳转到新闻发布页面,需要初始化一级目录。

        @RequestMapping("/release")
        public String release(HttpServletRequest request) {
	
		//一级目录
		request.setAttribute("pClassifyList", classifyService.getFirLevDire());
		return "/admin/news/release";
	}

一级目录需要写个onchange 事件,影响二级目录的改变。

                <div class="form-group">
			<!-- 一级目录 -->
			<label class="col-sm-2 control-label">所属栏目:</label>
	        	<div class="col-xs-2">
	    		<select class="form-control" name="classifys" id="classifys" onChange="getNextClassify()">
	  			<c:forEach var="classify" items="${pClassifyList}" varStatus="s">
					<option value="${classify.id}">${classify.name}</option>
				</c:forEach>
	  			</select>
			</div>
			<!-- 二级目录 -->
			<div class="col-xs-2">
	    		<select class="form-control" name="classifyid" id="classifyid">
					
	  			</select>
			</div>
	         </div>

方法的js写法,我们需要把一级目录的主键传到后台,根据一级目录主键查询二级目录id和name,注意每次需要清空二级目录,传过来的是json格式

            //下拉框连动
	    function getNextClassify() {
			//获取下拉框主键
			var classifyId=$("#classifys").find('option:selected').val();
			$("#classifyid").empty();     //清空二级目录 
			var classNext=$("#classifyid");
			$.ajax({  
                          type: "post",  
                          contentType:"application/json",  
                       url : "${base}/admin/news/getNextClassfy.htm?classifyId="+classifyId, 
                       success: function (data) {   
                	    var data = eval('(' + data + ')'); 
                	    if(data.length!="" && data.length!=null){ 
                     	      for ( var i = 0; i < data.length; i++) {
                     			classNext.append("<option value="+data[i].id+">"+data[i].name+"</option>");
                     	      }
                	     }else{
                		classNext.append("<option value="+classifyId+">---无---</option>");
                	    }
           		       }   
           	        }); 
		}
调用后台的java方法,我们把一条记录当作一个对象,把对象放在list里然后传到前台

       /**
	 * 
	* 方法名: getJson
	* 方法作用: 获取二级目录值
	* 创建人:Wu Feng
	* 创建时间:2016-10-23 下午08:53:50   
	* @param @param request
	* @param @param classify
	* @param @return
	* @param @throws Exception    
	* 返回值类型: List<Classify>    
	* @throws
	 */
    @ResponseBody 
    @RequestMapping("/getNextClassfy")  
    public List<Classify> getJson(HttpServletRequest request,Classify classify) throws Exception {  
	String classfyId=request.getParameter("classifyId");
        classify.setId(Integer.valueOf(classfyId));
        List<Classify> classifys=classifyService.getSecDire(classify);
        return classifys;
    }  

        /**
	 * 
	* 方法名: getSecDire
	* 方法作用: 二级目录
	* 创建人:Wu Feng
	* 创建时间:2016-10-23 下午07:45:25   
	* @param @param classify
	* @param @return    
	* 返回值类型: List<Classify>    
	* @throws
	 */
	public List<Classify> getSecDire(Classify classify){
		return classifyDao.getSecDire(classify);
	}
/**
	 * 
	* 方法名: getSecDire
	* 方法作用:获得二级目录
	* 创建人:Wu Feng
	* 创建时间:2016-10-23 下午07:17:19   
	* @param @return    
	* 返回值类型: List<Classify>    
	* @throws
	 */
	public List<Classify> getSecDire(Classify classify){
		String sql="select * from t_classify where isuse = 1 and pid="+classify.getId()+" order by orderindex asc";
		List<Classify> list = jdbcTemplate.query( sql, ParameterizedBeanPropertyRowMapper.newInstance(Classify.class));
		return list;
	}

最后在每次界面加载的时候,j调用onchange事件

            //初始化就调用getNextClassify方法
	    $(function () {
	    	getNextClassify();
	    })




本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ajax实现下拉框联动 的相关文章

随机推荐

  • String 在Java中的用法详解

    认识String类 和 String的使用 1 创建字符串 1 常见的构造String的方式 2 String的基本概念 2 字符串比较相等 3 字符 字节 字符串的转换 1 字符与字符串 2 字节与字符串 4 字符串常见操作 1 字符串比
  • Java多线程和操作系统多线程关系

    这篇文章要讨论的是Java编程中的多线程和操作系统中的多线程的区别问题 线程状态 首先两者的线程状态是一样的 创建 就绪 执行 阻塞 终止 其实这五个状态也是进程的状态 那么Java中的多线程 和 OS中的多线程的区别在哪里 我们先来看下O
  • 骑士宣言

    关于骑士 有很多的妙论 在中古世纪 骑士是最耀眼的战斗力 从中也延伸出了骑士的八大美德 历来很多玩家都把骑士当作最灿烂的职业 但大家却不曾想过骑士原本是一种象征意义的精神 我们来为这八大美德宣誓 谦卑 谦虚和永远将自己放在卑微的位置是骑士的
  • RabbitMQ(二):五种模式的简单介绍

    RabbitMQ 二 五种模式的简单介绍 一 Hello World 点对点 二 Work Queues 工作队列 三 Publish Subscribe 发布订阅 四 Routing 路由 五 Topics 话题 RabbitMQ 一 C
  • 学习笔记:SemanticStyleGAN 面向可控图像合成和编辑的组合生成先验学习

    CVPR 2022 SemanticStyleGAN Learning Compositional Generative Priors for Controllable Image Synthesis and Editing 面向可控图像合
  • MES生产管理系统如何与ERP系统集成

    MES生产管理系统和ERP企业管理系统是制造企业信息化的重要组成部分 它们在生产管理 资源计划和业务流程等方面发挥着重要作用 实现MES与ERP系统的集成 可以更好地优化企业生产流程 提高生产效率和降低成本 本文将探讨MES管理系统解决方案
  • 区块链技术开发路线

    背景陈述 已经对区块链领域的学习研究了一段时间 总体来说 前期主要是围绕bitcoin架构及其源码学习的 但对这个领域的技术开发还是不太熟悉 为了使自己对区块链领域有一个系统的学习和技术锤炼 特此总结了如下技术开发路线 来逐渐充实自己的区块
  • 育碧2k微软服务器,2K工作室更名-2K Games,育碧,全境封锁2 ——快科技(驱动之家旗下媒体)--科技改变未来...

    2K Games旗下的 硅谷工作室 Silicon Valley Studio 现更名为 第31工会 31st Union 之所以要提到这间工作室 盖因创始人Michael Condrey之前是动视 大锤工作室联合创始人 更早以前还是EA
  • C++(一)#pragma once用法

    C 一 pragma once用法 用法 C C 中 在使用预编译指令 include的时候 为了防止重复引用造成二义性 ifndef ifndef CODE BLOCK define CODE BLOCK code endif CODE
  • Python OSError: symbol cublasLtHSHMatmulAlgoInit, version libcublasLt.so.11 not defined的解决

    问题与排查 原报错信息如下 OSError opt conda lib python3 8 site packages nvidia cublas lib libcublas so 11 symbol cublasLtHSHMatmulAl
  • 动态创建class

    需要引入命名空间 using System CodeDom using System CodeDom Compiler using Microsoft CSharp using System Reflection public static
  • ASP.NET中文显示乱码之解决方法

    ASP NET很灵活 这归功于它采用文本文件方式的配置方式 另外的那种用页面标识符的方法应该是从ASP延续下来的 写ASP 程序时候碰到中文显示问题 运行后发现ASP 从数据库中读出来的中文全部变成了 解决办法 方法一 在config we
  • 程序员眼中的流量卡:需求、选择与使用

    标题 程序员眼中的流量卡 需求 选择与使用 一 流量卡的需求分析 作为程序员 我们深知数据流量在我们的工作中的重要性 无论是开发 测试还是部署 亦或是远程工作 都需要网络的支持 使用流量卡可以为我们提供一种灵活 便携的网络解决方案 让我们可
  • 如何用java POI在excel中画线_Java中使用POI在Excel单元格中画斜线—XLS格式

    Excel主要有xls和xlsx两种格式 两种格式对应的POI接口使用方法也不同 本节主要介绍一下 在xls格式的Excel单元格中如何画斜线 1 初始化HSSFWorkbook对象 初始化HSSFWorkbook对象 创建两行两列单元格
  • 【React】Fiber 实现可中断的渲染

    什么是可中断的 渲染 参照我们在 Concurrent 的奥秘 中的同步渲染和并发渲染的例子 上图是同步渲染过程 上图是并发渲染过程 我们可以看到明显的区别 同步渲染 就是完整地执行了一个很耗时的渲染 并发渲染 将原本耗时的 渲染 拆解成了
  • Labelme标注工具 json文件批量转化 labelme_json_to_dataset 多个版本代码集合

    文章目录 一 Labelme标注工具安装 二 json文件批量执行转化 代码1 问题一 问题二 代码2 代码3 一 Labelme标注工具安装 https github com wkentaro labelme 安装过程按照github教程
  • 1.单例模式之饿汉式

    单例模式总结 特点 构造方法私有 提供一个全局访问点 实现方式 有很多 分四篇分别总结1 饿汉式 2 懒汉式 3 注册式 4 ThreadLocal 优点 内存中只有一个实例 减少内存开销 避免对资源多重占用 设置全局访问点 严格控制访问
  • 【IDEA】IDEA 下一些 编码技巧

    1 概述 转载 这样写代码 真是帅到没有朋友 转载记录一下 防止下次找不到了
  • 操作系统(OS)

    目录 1 计算机系统层次 2 操作系统 2 1 概念 2 2 作用 1 计算机系统层次 2 操作系统 2 1 概念 任何计算机系统都包含一个基本的程序集合 称为操作系统 OS 操作系统包括 内核 进程管理 内存管理 文件管理 驱动管理 其他
  • ajax实现下拉框联动

    spring mvc bootstrap 最近在做一个新闻不发布网站 网站栏目需要实现下拉框联动 因为没有用到前端框架 因此需要自己来写 废话不多说 思路是 跳转到新闻发布页面 需要初始化一级目录 RequestMapping releas