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

Category.js

$(function () {
    BindCategory();
})

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();
            if (this.value == "" || this.value == "0") {
                $selSmallClass.hide();
                return false;
            }
            $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);
                if (this.value == "" || this.value == "0") {
                    $selThreeClass.hide();
                    $txtCategory.val($selBigClass.val());
                    return false;
                }
                var data = json;
                $selThreeClass.show();
                var html = [‘<option value="">请选择小类</option>‘];
                for (var key in data) {
                    if (data[key].pid == $("#selSmallClass").val()) {
                        html.push(‘<option value="‘ + data[key].id + ‘">‘ + data[key].name + ‘</option>‘);
                    }
                }

                $selThreeClass.empty().append(html.join(‘‘)).change(function () {
                    $txtCategory.val(this.value);
                    if (this.value == "" || this.value == "0") {
                        $txtCategory.val($selSmallClass.val());
                    }
                });

            });

        });

    });

};

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

1 [{ "id": 31, "name": "\u65b0\u95fb\u4e2d\u5fc3", "pid": 0, "itemvalue": "|0|" }, { "id": 54, "name": "\u5173\u4e8e\u76df\u53cb\u634c\u634c", "pid": 0, "itemvalue": "|0|" }, { "id": 59, "name": "\u52a0\u76df\u5408\u4f5c", "pid": 0, "itemvalue": "|0|" }, { "id": 64, "name": "\u5ba2\u670d\u670d\u52a1", "pid": 0, "itemvalue": "|0|" }, { "id": 65, "name": "\u4ea7\u54c1\u670d\u52a1", "pid": 0, "itemvalue": "|0|" },{ "id": 55, "name": "\u4f01\u4e1a\u6982\u51b5", "pid": 54, "itemvalue": "|0|54|" }, { "id": 56, "name": "\u4f01\u4e1a\u6587\u5316", "pid": 54, "itemvalue": "|0|54|" }, { "id": 57, "name": "\u4f01\u4e1a\u53d1\u5c55", "pid": 54, "itemvalue": "|0|54|" }, { "id": 58, "name": "\u8054\u7cfb\u6211\u4eec", "pid": 54, "itemvalue": "|0|54|" }, { "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": 66, "name": "\u67e5\u8be2\u7535\u8bdd", "pid": 64, "itemvalue": "|0|64|" }, { "id": 67, "name": "\u670d\u52a1\u7f51\u7edc", "pid": 64, "itemvalue": "|0|64|" }, { "id": 68, "name": "\u5e38\u89c1\u95ee\u9898", "pid": 64, "itemvalue": "|0|64|" }, { "id": 69, "name": "\u6295\u8bc9\u5efa\u8bae", "pid": 64, "itemvalue": "|0|64|" }, { "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|"}]

html

<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" /></td>
            </tr>
        </table>
    </form>
</body>
</html>

效果图

Jquery三级联动(需要JSON数据),布布扣,bubuko.com

时间: 2024-10-12 12:40:43

Jquery三级联动(需要JSON数据)的相关文章

三级联动,json数据、可设置默认城市

闲来无事,折腾个三级联动,json数据.可设置默认城市.可配置是否显示第三级select <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>省市县三级联动</title> <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script&g

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

var options=[]; var cities = { '北京': { '北京': ['东城区', '西城区', '崇文区', '宣武区', '朝阳区', '丰台区', '石景山区', '海淀区', '门头沟区', '房山区', '通州区', '顺义区', '昌平区', '大兴区', '平谷区', '怀柔区', '密云县', '延庆县', '其他'] }, '天津': { '天津': ['和平区', '河东区', '河西区', '南开区', '河北区', '红挢区', '滨海新区', '东

springMVC框架下JQuery传递并解析Json数据

json作为一种轻量级的数据交换格式,在前后台数据交换中占领着很重要的地位.Json的语法很简单,採用的是键值对表示形式.JSON 能够将 JavaScript 对象中表示的一组数据转换为字符串,然后就能够在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给server端程序,也能够从server端程序传递json格式的字符串给前端并由前端解释.这个字符串是符合json语法的,而json语法又是javascript语法的子集,所以javascript很easy解释

jQuery调用WebService返回JSON数据

相信大家都比较了解JSON格式的数据对于ajax的方便,不了解的可以从网上找一下这方面的资料来看一下,这里就不多说了,不清楚的可以在网上查一下,这里只说一下因为参数设置不当引起的取不到返回值的问题. 在用jQuery调用WebService的时候,它contentType默认为 以下是WebService服务端的代码: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.W

详谈 Jquery Ajax 异步处理Json数据.

详谈 Jquery Ajax 异步处理Json数据.

jquery跨域请求json数据

//服务端生成json数据json.php <?php $json=array("Volvo","BMW","SAAB"); $cb = $_GET['callback']; echo $cb.'('.json_encode($json, true).')'; ?> //客户端Ajax请求数据<script> $(document).ready(function() { var url="http://域名/js

jquery实现ajax,返回json数据

jquery实现ajax可以调用几种方法 我经常用的是$get(url,data,callback,type)方法 其中url是异步请求的页面(可以是.ashx文件),data是参数,callback是回调函数,而type是返回数据的类型.type有xml,html,json,text等. 首先,页面引用jquery.js 在页面写ajax处理的js函数 1 2 3 4 5 6 7 8 9 10 11 12 13 function initMeeting() {             $.ge

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

1.效果图 2.联动js 1 /** 2 * jquery.choosearea.js - 地区联动封装 3 */ 4 ; (function ($) { 5 var choosearea = function (options) { 6 this.set = $.extend({ 7 dataUrl: "/Content/Js/city_code.js", 8 selectDomId: { 9 province: "a", 10 city: "b&quo

html、css/bootStrap、js/Jquery、ajax与json数据交互总结

设计个个人网站,利用CSS.JavaScript.HTML5.jQuery库和AJAX等 实现网站各功能模块,下面介绍我设计的网站各大功能模块:  个人简历模块: 包涵个人基本信息(利用CSS的float和clear属性实现个人照片与文字的浮动排版).求学经历.获奖情况.参与社团.兴趣爱好等(一个方面组织成一张网页),利用框架技术实现在同一区域显示不同网页内容. 注册/登入模块 用户注册和登录:使用jQuery实现注册表单验证和登录表单验证 登入首页 利用文字.图片(使用AJAX实现图片轮转)展