根据参数显示类别(三级联动,需要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. java实现邮箱发送邮件功能

    邮箱验证是一个很常见的功能了,基本上每个网站都会用的到,java也有专门的jar来处理邮件发送等服务,这里只是简单的实现一下发送邮件的功能,具体jar包就不再提供了,我会把所有需要引用的包都贴出来,方 ...

  2. 题解 CF1216C 【White Sheet】

    虽然也很水,但这道还是比前两道难多了... 题目大意:给你三个位于同一平面直角坐标系的矩形,询问你后两个是否完全覆盖了前一个 首先,最直观的想法应该是,把第一个矩形内部每个整数点检查一下,看看是否位于 ...

  3. DRF+Vue项目(一)——项目架构

    永久配置安装源 为了加速模块的下载 1.文件管理器文件路径地址栏敲:%APPDATA% 回车,快速进入 C:\Users\电脑用户\AppData\Roaming 文件夹中 2.新建 pip 文件夹并 ...

  4. POJ 3233-Matrix Power Series( S = A + A^2 + A^3 + … + A^k 矩阵快速幂取模)

    Matrix Power Series Time Limit: 3000MS   Memory Limit: 131072K Total Submissions: 20309   Accepted:  ...

  5. hdu.. 基础二分的精度问题

    #include<stdio.h>#include<iostream>using namespace std;double f(double x){ return 8*x*x* ...

  6. Go 实现短 url 项目

    首先说一下这种业务的应用场景: 把一个长 url 转换为一个短 url 网址 主要用于微博,二维码,等有字数限制的场景 主要实现的功能分析: 把长 url 地址转换为短 url 地址 通过短 url ...

  7. 【转载】C#使用is关键字检查对象是否与给定类型兼容

    在C#的编程开发过程中,很多时候涉及到数据类型的转换,如果强行转换数据类型,有时候可能会出现程序运行时错误,C#语言中提供了is关键字可以检查对象是否与给定类型兼容,可先判断类型兼容后再进行对象的转换 ...

  8. IE hack大全

    IE hack大全:http://blog.csdn.net/freshlover/article/details/12132801

  9. cmd修改路径

    1.  切换盘符:    输入X:(例如C:)+回车 2.  查看当前目录下的文件:输入dir+回车 3.  选择想要的文件,输入:cd+文件名

  10. phpcms企业站的一些知识

    头header.html 尾footer.html 主页用index.html 列表页用list.html 单网页用page.html 内容页用show.html {template "co ...