Ajax实现二级联动菜单

来源:脚本之家  责任编辑:小易  

引入jquery来帮助你实现.比较简单.给你一个例子吧.后台是用PHP写的. html文件内容 demo function getarea(){ var region_id = $("#region").val();//获得下拉框中大区域的值 if(region_id != ''){ $.ajax({ type: "post", url: "b.php", data:"r

本文实例为大家分享了Ajax二级联动菜单的具体代码,供大家参考,具体内容如下

因为没有足够的信息,我说几个要点,你看看后台是不是这样的: 1.你使用的是 $.getJSON ,这个方法要求你的后台数据 Content-Type 是 text/json 或者 application/json 。如果不是这样的话,肯定不行的 2.回调函数中,myJSON 到底是什么类型,从

index.jsp

1、引入jquery http://www.w3school.com.cn/jquery/jquery.js 2、$.ajax({ type:"POET", data:{}, url:"c.jsp?institues="+institues, success:function(data){ alert(data);//data为你返回的数据 } });

<%@ page language="java" pageEncoding="UTF-8"%> <html> <head> <title>二级菜单联动演示</title> <script type="text/javascript"> var req; window.οnlοad=function() {//页面加载时的函数 } function Change_Select(){//当第一个下拉框的选项发生改变时调用该函数 var province = document.getElementById('province').value; var url = "select?id="+ escape(province); if(window.XMLHttpRequest){ req = new XMLHttpRequest(); }else if(window.ActiveXObject){ req = new ActiveXObject("Microsoft.XMLHTTP"); } if(req){ req.open("GET",url,true); //指定回调函数为callback req.onreadystatechange = callback; req.send(null); } } //回调函数 function callback(){ if(req.readyState ==4){ if(req.status ==200){ parseMessage();//解析XML文档 }else{ alert("不能得到描述信息:" + req.statusText); } } } //解析返回xml的方法 function parseMessage(){ var xmlDoc = req.responseXML.documentElement;//获得返回的XML文档 var xSel = xmlDoc.getElementsByTagName('select'); //获得XML文档中的所有<select>标记 var select_root = document.getElementById('city'); //获得网页中的第二个下拉框 select_root.options.length=0; //每次获得新的数据的时候先把每二个下拉框架的长度清0 for(var i=0;i<xSel.length;i++){ var xValue = xSel[i].childNodes[0].firstChild.nodeValue; //获得每个<select>标记中的第一个标记的值,也就是<value>标记的值 var xText = xSel[i].childNodes[1].firstChild.nodeValue; //获得每个<select>标记中的第二个标记的值,也就是<text>标记的值 var option = new Option(xText, xValue); //根据每组value和text标记的值创建一个option对象 try{ select_root.add(option);//将option对象添加到第二个下拉框中 }catch(e){ } } } </script> </head> <body> <div align="center"> <form name="form1" method="post" action=""> <table width="70%" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="center"> 二级联动示例 </td> </tr> <tr> <td> <select name="province" id="province" onChange="Change_Select()"> <!--第一个下拉菜单--> <option value="0"> 请选择 </option> <option value="1"> 北京 </option> <option value="2"> 天津 </option> <option value="3"> 山东 </option> </select> <select name="city" id="city"> <!--第二个下拉菜单--> <option value="0"> 请选择 </option> </select> </td> </tr> <tr> <td> </td> <tr> </table> </form> </div> </body> </html>

你可以分这几部来实现。 准备好你的数据结构,把数据组织成一棵树。对于你的问题来说,树的第一层就是一组城市,第二层就是县,每个县的父节点就是它所在的市。 把城市做成一个下拉框,就是select标签,里面的option都是你的城市。 准备第二个下

SelectServlet.java

1第一种方法 $("#id").text("") 2第二种办法 $("#id").empty();

package com; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /*** * * @author zdw * */ public class SelectServlet extends HttpServlet { private static final long serialVersionUID = 1L; public SelectServlet() { super(); } public void destroy() { super.destroy(); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // response.setCharacterEncoding("GBK"); response.setContentType("text/xml"); response.setHeader("Cache-Control", "no-cache"); request.setCharacterEncoding("GBK"); response.setCharacterEncoding("UTF-8"); String targetId = request.getParameter("id").toString(); System.out.println(targetId); // 获得请求中参数为id的值 String xml_start = "<selects>"; String xml_end = "</selects>"; String xml = ""; if (targetId.equalsIgnoreCase("0")) { xml = "<select><value>0</value><text>请选择</text></select>"; } else if (targetId.equalsIgnoreCase("1")) { xml = "<select><value>1</value><text>昌平</text></select>"; xml += "<select><value>2</value><text>丰台</text></select>"; xml += "<select><value>3</value><text>海淀</text></select>"; xml += "<select><value>4</value><text>朝阳</text></select>"; } else if (targetId.equalsIgnoreCase("2")) { xml = "<select><value>1</value><text>塘沽区</text></select>"; xml += "<select><value>2</value><text>汉沽区</text></select>"; xml += "<select><value>3</value><text>大港区</text></select>"; xml += "<select><value>4</value><text>东丽区</text></select>"; } else {// 如果是3,则返回下面的字符 xml = "<select><value>1</value><text>济南</text></select>"; xml += "<select><value>2</value><text>青岛</text></select>"; xml += "<select><value>3</value><text>淄博</text></select>"; xml += "<select><value>4</value><text>枣庄</text></select>"; } String last_xml = xml_start + xml + xml_end; response.getWriter().write(last_xml); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } public void init() throws ServletException { } }

小编给你推荐几款极简风格的装修图片把一个简陋的、天气板的工人小屋变成一个平凡的家,这是一个不完美的改造。其结果是令人欣慰和温暖的,有了一种新的姿态,可以让人看到河流和山的景色。请关注“太原居众装饰”每天推送关于装修文章,让您快速的了解装修,学会装修。

web.xml

1.吴倩《择天记》在《择天记》中,很多人喜欢灵气满满的落落,而对女主吐槽颇多。还有,《何以笙箫默》中,也是感觉抢了唐嫣风头啊。2.靳东《伪装者》在《伪装者》中,大家喜欢明台,但是观众喜欢大哥啊。而且为什么觉得明楼和明诚CP感满满,一定是有哪里不对!3.宋轶《伪装者》《伪装者》中大家吐槽最多的就是女主了吧,简直算得上史上存在感最低的女主了,倒是宋轶饰演的曼丽和明台CP感不错。4.张彬彬《漂亮的李慧珍》虽然在剧中,林一木没有和慧珍在一起,但是观众可都恨不得抱走林一木啊!小哥哥好暖心啊!5.徐海乔《醉玲珑》在剧中,深情的湛王不断地想卿尘表达情意,可是卿尘只能装傻不回应。徐海乔将这个角色诠释得入木三分

<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <servlet> <servlet-name>SelectServlet</servlet-name> <servlet-class>com.SelectServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>SelectServlet</servlet-name> <url-pattern>/select</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>

酷热的夏天已经结束,进入初秋之后,狗狗全身的疲劳就会显现出来。尢其是幼犬,老犬,室内犬。它们在气温的变化下,身体状况很容易出现问题。所以在喂食的时候应给予容易消化的食物,并逐渐增量使其体力增加,甚至会到达食欲的旺盛期,其原因是为了大量摄取营养,准备迎接寒冬。秋季狗狗护理很重要,那狗狗需要注意些什么问题呢?1、容易感冒秋天的气温变化无常,狗狗与人一样都很容易惑冒。所以在帮狗狗洗澡后需要立即吹干。必须特别注意,尤其是幼犬、老犬、及室内犬,必须彻底擦干水分并保温,预防感冒的发生。到了秋季,早上的气温跟晚上的气温相差有点大,所以在晚上狗狗睡觉的时候,加块垫子在地板上。避免狗狗睡在地板上着凉了,造成感冒

扩展阅读,根据您访问的内容系统为您准备了以下内容,希望对您有帮助。

怎么使用jQuery实现二级联动啦

  具体示例代码如下:

  <!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>

  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

  <title>jquery 实现二级联动菜单</title>

  <script src="Public/js/jquery.js"></script>

  <script>

  $(function(){

  $('#province').change(function(){

  $('#province option').each(function(i){

  if($(this).attr('selected')){

  $('.city').hide().eq(i).show();

  }

  

用SSM框架 HTML页面 ajax 怎么写一个从数据库获取数据的 二级联动的下拉菜单

用js先写个带参方法,参数就是2级联动的对象obj

写个ajax  data参数就是obj.value, value传给后台获取数据返回给ajax,

然后ajax做你想做的页面处理。。。

<script language="javascript">

function getData(obj) {

var opt = obj.options[obj.selectedIndex]

//alert("The option you select is:"+opt.text+"("+opt.value+")");

$.ajax({

url : "你的url",

type : "Post",

data :  'diqu='+opt.value,

success : function(data1) {

//这里面就可以得到你后台获取过来的数据了,你可以做DOM处理

}

});

}

</script>

<SELECT   onchange="getData(this)">

<OPTION  value ="1">湖北</OPTION>

<OPTION value="2">湖南</OPTION>

<OPTION  value ="3">河北</OPTION>

<OPTION value="4">河南</OPTION>

</SELECT>

Jquery ajax二级联动问题(表单提交后,选择的select项为选中状态)

如果是ajax提交,应该显示的还是原来选中的项。如果是普通form提交,那页面就跳转了。再打开form 要显示前面的值, 只有将前面的值存起来才可以吧。

加入选定的值是 value1 那就判断先。

if  (item.id !=value1)

$("<option value='" + item.id + "'>" + item.name + "</option>").appendTo($("#departmentId"));

else

$("<option value='" + item.id + "'selected='selected' >" + item.name + "</option>").appendTo($("#departmentId"));更多追问追答追问form提交的,value1判断不起作用。追答value1 是你原来选中的option的id。 你想办法存起来然后这里拿出来比较啊追问恩,谢谢你,我在试,第一个可以了,页面提交后,第一个select能选中了,可是第二个联动的select不能选中?追答手动触发第一个的click事件,就会将第二个select的option们加载上去。然后再 同样做一次判断。就可以选中了追问不行啊,自动触发了都选不中。追答在第二个select当中 你还要去判断你上次选择的是哪个啊。追问

你看下这个是代码,我觉得写着对着呢,可是就是选不中。你帮我看下哪里错了?

追答你的第二个ajax返回的数据格式是[{deviceId:1,name:"name"}]这样的么?追问不是,是这个的{[{"deviceId":"TB9000","name":"设备1"]},{"deviceId":"TB8000","name":"设备2"]}}

可以了,那里我写错了。我没加单引号,因为那个是字符串类型的,总之成功了。非常感谢你。

求一个简单的jquery二级菜单联动

var data = [{

    id: 1,

    pid: 0,

    name: '水果'

},

{

    id: 2,

    pid: 0,

    name: '蔬菜'

},

{

    id: 3,

    pid: 1,

    name: '苹果'

},

{

    id: 4,

    pid: 1,

    name: '香蕉'

},

{

    id: 5,

    pid: 2,

    name: '萝卜'

},

{

    id: 6,

    pid: 2,

    name: '茄子'

},

{

    id: 7,

    pid: 1,

    name: '芒果'

},

{

    id: 8,

    pid: 1,

    name: '桔子'

},

{

    id: 9,

    pid: 2,

    name: '青瓜'

},

{

    id: 10,

    pid: 2,

    name: '苦瓜'

}];

window.onload = function() {

    var type_sel = document.createElement('select');

    if (document.attachEvent) type_sel.attachEvent('onchange', change);

    else type_sel.addEventListener('change', change, true);

    createOptions(type_sel, 0);

}

function change(e) {

    var o = e.srcElement || e.target,

    child_sel = document.createElement('select'),

    pid = o.value,

    obj = document.getElementsByTagName('select')[1];

    obj && obj.parentNode.removeChild(obj);

    createOptions(child_sel, pid);

}

function createOptions(sel, pid) {

    var option = document.createElement('option');

    option.value = '';

    option.innerHTML = '请选择';

    sel.appendChild(option);

    for (var i in data) {

        var d = data[i];

        if (d.pid == pid) {

            var option = document.createElement('option');

            option.value = d.id;

            option.innerHTML = d.name;

            sel.appendChild(option);

        }

    }

    document.body.appendChild(sel);

}

怎么使用jQuery实现二级联动啦

<body>

<select id="pro">

<option value="-1">请选择</option>

<option value="0">山东</option>

<option value="1">河南</option>

</select> 

省会:

<select id="city"></select>

</body><script>

var city_data = [["济南","青岛"],["太原","大同"]];

$(function(){

$("#pro").change(function(){

$("#city").html("");

var index = $(this).val();

if(index - 0 == -1){

$("#city").append("<option>--</option>");

return;

}

var data = city_data[index];

for(var i in data){

$("#city").append("<option>"+data[i]+"</option>");

}

});

});

</script>

  • 本文相关:
  • php+ajax实现二级联动菜单功能示例
  • ajax三级联动下拉菜单效果
  • ajax省市区三级联动下拉菜单(java版)
  • thinkphp使用心得分享-thinkphp + ajax 实现2级联动下拉菜单
  • ajax读取数据库内容实现二级联动下拉选择菜单示例
  • ajax二级联动菜单实现原理及代码
  • 基于asp+ajax和数据库驱动的二级联动菜单
  • 一个强健 实用的asp+ajax二级联动菜单(有演示和附源程序打包下载)
  • 落伍首发 php+mysql 采用ajax技术的 省 市 地 3级联动无刷新菜单 源码
  • 琥珀无限级分类联动菜单ajax版
  • 完成了ajax树附原理分析
  • ajax设置async校验用户名是否存在的实现方法
  • 浅谈bootstrap的datepicker日期范围选择
  • 基于h5的history改善ajax列表请求体验
  • 探讨ajax中同步与异步之间的区别
  • jquery通过ajax从后台获取信息并显示在表格上的实现类
  • 解决ajax方式上传文件报错"uncaught typeerror: illegal invocat
  • 用iframe设置代理解决ajax跨域请求问题
  • ajax 验证框架13个
  • ajax的阻塞及跨域名解析
  • 怎么使用jQuery实现二级联动啦
  • 用SSM框架 HTML页面 ajax 怎么写一个从数据库获取...
  • Jquery ajax二级联动问题(表单提交后,选择的sele...
  • 求一个简单的jquery二级菜单联动
  • 怎么使用jQuery实现二级联动啦
  • html 中如何实现ajax 二级联动
  • 用jquery的ajax实现二级下拉菜单级联操作,一级的s...
  • ajax 下拉菜单二级联动时发生错误
  • jquery或者JS二级联动的实现思想是什么?
  • ajax二级联动怎么清除上一级菜单
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved