根据参数显示类别(三级联动,需要JSON数据)

Scripts/Category.js

调用方法:

$(function () {

BindCategory();

//默认绑定文本框中的值

BindCategoryData($("#txtCategoryId").val());

})

绑定三级联动(详情见:http://www.cnblogs.com/haozhenjie819/p/3887279.html

function BindCategory() {

var $txtCategory = $("#txtCategoryId");

var _selectId = ["selBigClass", "selSmallClass", "selThreeClass"];

for (var i = 0; i < _selectId.length; i++) {

var select = document.createElement("select");

select.id = _selectId[i];

select.name = _selectId[i];

$txtCategory.parent().append(select);

}

var $selBigClass = $("#selBigClass");

var $selSmallClass = $("#selSmallClass");

var $selThreeClass = $("#selThreeClass");

$selSmallClass.hide();

$selThreeClass.hide();

$.getJSON("/Scripts/CategoryJson.js", function (json) {

var html = ['<option value="">请选择大类</option>'];

for (var key in json) {

if (json[key].pid == 0) {

html.push('<option value="' + json[key].id + '">' + json[key].name + '</option>');

}

}

//第一级类别

$selBigClass.empty().append(html.join('')).change(function () {

$txtCategory.val(this.value);

$selThreeClass.hide();

$selSmallClass.show();

var html = ['<option value="">请选择小类</option>'];

for (var data in json) {

if (json[data].pid == $("#selBigClass").val()) {

html.push('<option value="' + json[data].id + '">' + json[data].name + '</option>');

}

}

//第二级类别

$selSmallClass.empty().append(html.join('')).change(function () {

$txtCategory.val(this.value);

$selThreeClass.show();

var html = ['<option value="">请选择小类</option>'];

for (var data in json) {

if (json[data].pid == $selSmallClass.val()) {

html.push('<option value="' + json[data].id + '">' + json[data].name + '</option>');

}

}

//第三级类别

$selThreeClass.empty().append(html.join('')).change(function () {

$txtCategory.val(this.value);

});

//如果不存在第三级类别则隐藏第三级类别控件

if ($selThreeClass.get(0).options.length <= 1) {

$selThreeClass.hide();

return false;

}

});

//如果不存在第二级类别则隐藏第二级类别控件

if ($selSmallClass.get(0).options.length <= 1) {

$selSmallClass.hide();

return false;

}

});

});

};

根据参数显示默认值

var setBigClassTime;

//绑定数据

function BindCategoryData(CategoryId) {

if (document.getElementById("selBigClass") == null || document.getElementById("selBigClass").length <= 0)

setBigClassTime = setTimeout("BindCategoryData('" + CategoryId + "')", 200);

else

clearTimeout(setBigClassTime);

$.getJSON('/Scripts/CategoryJson.js', function (json) {

for (var key in json) {

if (json[key].id == CategoryId) {

json[key].id = CategoryId;

var str = json[key].itemvalue;

var _p = str.split("|")[2];

var _c = json[key].pid;

if (_p == _c) {

if (_p != "") {

$("#selBigClass").val(_p).change();

$("#selSmallClass").val(CategoryId);

}

else {

$("#selBigClass").val(CategoryId);

}

}

else {

$("#selBigClass").val(_p).change();

$("#selSmallClass").val(_c).change();

$("#selThreeClass").val(CategoryId).change();

}

}

}

});

}

Scripts/CategoryJson.js(如何生成json数据详见:http://www.cnblogs.com/haozhenjie819/p/3601676.html

[{ "id": 31, "name": "\u65b0\u95fb\u4e2d\u5fc3", "pid": 0, "itemvalue": "|0|" },

{ "id": 59, "name": "\u52a0\u76df\u5408\u4f5c", "pid": 0, "itemvalue": "|0|" },

{ "id": 65, "name": "\u4ea7\u54c1\u670d\u52a1", "pid": 0, "itemvalue": "|0|" },

{ "id": 60, "name": "\u52a0\u76df\u987b\u77e5", "pid": 59, "itemvalue": "|0|59|" },

{ "id": 61, "name": "\u52a0\u76df\u6d41\u7a0b", "pid": 59, "itemvalue": "|0|59|" },

{ "id": 62, "name": "\u52a0\u76df\u533a\u57df", "pid": 59, "itemvalue": "|0|59|" },

{ "id": 70, "name": "\u63a8\u8350\u670d\u52a1", "pid": 65, "itemvalue": "|0|65|" },

{ "id": 71, "name": "\u8ba1\u8d39\u65b9\u5f0f", "pid": 65, "itemvalue": "|0|65|" },

{ "id": 72, "name": "\u7528\u6237\u987b\u77e5", "pid": 65, "itemvalue": "|0|65|" },

{ "id": 73, "name": "\u7981\u5bc4\u8303\u56f4", "pid": 65, "itemvalue": "|0|65|" },

{ "id": 75, "name": "\u666e\u901a\u5feb\u9012", "pid": 70, "itemvalue": "|0|65|70|" },

{ "id": 76, "name": "\u7279\u79cd\u5feb\u4ef6", "pid": 70, "itemvalue": "|0|65|70|" },

{ "id": 77, "name": "\u9650\u65f6\u6d3e\u9001", "pid": 70, "itemvalue": "|0|65|70|" },

{ "id": 78, "name": "\u4ee3\u6536\u8d37\u6b3e", "pid": 70, "itemvalue": "|0|65|70|" },

{ "id": 79, "name": "\u4fdd\u4ef7\u670d\u52a1", "pid": 70, "itemvalue": "|0|65|70|" },

{ "id": 80, "name": "\u4ee3\u7b7e\u56de\u5355", "pid": 70, "itemvalue": "|0|65|70|"}]

web页面(给hidden赋值,类别编号为75)

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<title>三级联动</title>

<script src="/Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>

<script src="/Scripts/Category.js" type="text/javascript"></script>

</head>

<body>

<form id="form1" runat="server">

<table>

<tr>

<td >新闻类别:</td>

<td > <input id="txtCategoryId" name="txtCategoryId" type="hidden" runat="server" value="75" /></td>

</tr>

</table>

</form>

</body>

</html>

效果图

涉及的知识点:【JavaScript split() 方法】返回值是一个字符串数组。

根据参数显示类别(三级联动,需要JSON数据)的更多相关文章

  1. Jquery select 三级联动 (需要JSON数据)

    Scripts/Category.js //Jquery三级类别联动 $(function () { BindCategory(); }) function BindCategory() { var ...

  2. 将省市县三级联动的json数据,转化为element-ui能用的格式,并使用

    var options=[]; var cities = { '北京': { '北京': ['东城区', '西城区', '崇文区', '宣武区', '朝阳区', '丰台区', '石景山区', '海淀区 ...

  3. 在使用ajax实现三级联动调用数据库数据并通过调出的数据进行二级表单查询

    在使用ajax实现三级联动查询数据库数据后再使用ajax无刷新方式使用三级联动调出的数据进行二级查询 但是现在遇到问题,在二级查询的时候期望是将数据以表格的形式展示在三级联动的下方,但是现在在查询后会 ...

  4. 省市县三级联动(jqurey+json)

    1.效果图 2.联动js /** * jquery.choosearea.js - 地区联动封装 */ ; (function ($) { var choosearea = function (opt ...

  5. mvc关于三级联动修改时数据回显

    在网上找了好久,都没有找到自己想要的那种效果,最后还是自己写出来了, 虽然方法有点笨. 这是Controller里 public ActionResult Edit(string id) { //查询 ...

  6. 基于jQuery的AJAX实现三级联动菜单

    最近学习jQuery,所以就写了一个关于中国省市县/区的三级联动菜单,权当相互学习,相互促进,特此记录. 下面是嵌套js的html文件: <!DOCTYPE html> <html ...

  7. Java学习-059-Jsoup爬虫获取中国所有的三级行政区划数据(四),生成相应的 JSON 数据并输出

    还是直接上马,对应的源码如下所示: 生成的三级行政区划部分 JSON 数据如下所示:

  8. 在SQL 中生成JSON数据

    这段时间接手一个数据操作记录的功能,刚拿到手上的时候打算用EF做,后来经过仔细考虑最后还是觉定放弃,最后思考再三决定: 1.以模块为单位分表.列固定(其实可以所有的操作记录都放到同一个表,但是考虑到数 ...

  9. FormData 数据转化为 json 数据

    两种方法 <!-- 实例:将 FormData 转化为 json --> <meta charset="utf-8"/> <form enctype= ...

随机推荐

  1. 018 Android Activity界面移入与移出的动画效果

    1.平移动画 上一页移入动画 (-屏幕宽度,y)------>(0,y) 上一页移出动画 (0,y)-------------->(屏幕宽度,y) 下一页移入动画 (屏幕宽度,y)---- ...

  2. win10安装Ubuntu,用Xshell连接

    一.安装Ubuntu 安装Ubuntu,安装过程就不详细说了,我是从微软商店下载的Ubuntu安装,没有用VMware,想用Xshell连接Ubuntu,中间一直出问题,现在解决,总结一下. 二.配置 ...

  3. python学习-59 hashlib模块

    hashlib模块 用于加密相关的操作,3.x里代替了md5模块和sha模块 加密功能 import hashlib obj = hashlib.md5() # 如果在md5里加上自己设置的参数,别的 ...

  4. 【HC89S003F4开发板】 8c转义成汇编工程

    HC89S003F4开发板建立汇编工程 选择编译文件 @选用开发板闪灯例程,将例程删除多余的注释,后面生成的文件会更直观. #define ALLOCATE_EXTERN #include " ...

  5. binlogserver搭建

    在MySQL 5.7.x版本中,mysqlbinlog工具解析任何一个本地的binlog或relay log时,都不会在mysqlbinlog命令执行结束时追加rollback语句, 但在MySQL ...

  6. PowerBuilder学习笔记之导入Excel数据

    原文地址:http://blog.chinaunix.net/uid-20586802-id-3235549.html /*****************简单的导入功能,涉及到数据类型判断***** ...

  7. java EE学习之数据库操作

    jdbc开发流程 注册驱动 建立连接(Connection) 创建运行SQL的语句(Statement) 运行语句 处理运行结果(ResultSet) 释放资源 注冊驱动有三种方式: Class.fo ...

  8. Java LowerBound

    Java LowerBound /** * <html> * <body> * <P> Copyright 1994-2018 JasonInternational ...

  9. C# 弹出层移动

    groupPrint.MouseDown += GroupBox1_MouseDown; #region 弹出层移动        [System.Runtime.InteropServices.Dl ...

  10. linux环境weblogic的安装及新建域

    环境:inux 64位,jdk 64位,        jdk 安装用户应使用weblogic.若使用其他用户安装,须将jdk安装目录整体授权给wblogic用户 安装包:wls1036_dev.zi ...