js仿百度文库文档上传页面的分类选择器_第二版

仿百度文库文档上传页面的多级联动分类选择器第二版,支持在一个页面同时使用多个分类选择器;

此版本把HTML,CSS,以及图片都封装到“category.js”中,解决因文件路径找不到样式及图片的问题;

源码下载地址:http://download.csdn.net/detail/testcs_dn/7290577

初始状态,一个页面使用两个,可以初始化之前选中的分类:

选择状态:

当选中一个分类后,会触发“onChange”事件,如上图中的“您选择的分类编号为:xxx 隐藏输入域的内容为:xxx”,就是通过“onChange”事件输出的。

页面调用代码及说明:

<!DOCTYPE html>
<html>
<head>
    <title>category</title>
    <script type="text/javascript" src="jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="category.js"></script>
<script type="text/javascript">
    $(document).ready(function () {
        //创建一个新的分类选择器,支持一个页面中使用多个分类选择器
        //可选择配置信息,默认值,说明:
        //sourceData:{ list:[] },                           //array:分类数据源,格式参考:data/categorySourceData.js
        //textDefault:"\u8BF7\u9009\u62E9\u5206\u7C7B",     //string:没有选择分类时的提示文字
        //onChange:null,                                    //event:当用户选中最后一级节点时触发
        //onSelect:null,                                    //event:当用户单击一个分类时触发,此事件在onChange之前触发
		//hidField											//string:隐藏值域的ID,可以自己指定;不指定的话实际的ID=默认ID+分类实例索引
															//onChange事件触发后,会将当前选中的分类赋值给此域,格式:1,17,14
        var category1 = $("#divCate1").category({ hidField: "hidField0", onSelect: function () {
            this.setCategoryName();
        },
            onChange: function (cid, level, text) {
                $("#divResult1").html("您选择的分类编号为:" + this.getCategoryCid() + "<br />隐藏输入域的内容为:" + $("#hidField0").val());
            }
        });

        //可以通过设置selectItems属性,设定初始选项
        category1.selectItems = [{ cid: 1 }, { cid: 11}];

        //重写获取分类的方法,可以在此方法中访问后台页面,从数据库获取分类数据
        //cid:分类编号
        //level:分类级别
        //返回值格式:{list: [{pcid: 0,cid: 1,name: "\u6559\u80b2\u4e13\u533a",isLast: false},{pcid: 0,cid: 1,name: "\u6559\u80b2\u4e13\u533a",isLast:true}]}
        //节点属性说明:
        //pcid:父级分类编号,目前没有用到
        //cid:分类编号
        //name:分类名称
        //isLast:是否为最后一级分类,需要根据此属性确定显示样式及响应逻辑
        category1.getCategory = function (cid, level) {
            var cate = null;
            $.ajax({
                type: "GET",
                async: false, //这里必须使用同步方式
                url: "data/categorySourceData.htm",
                data: "T=" + Math.random(),
                success: function (data) {
                    var sourceData = eval("(" + data + ")");
                    if (typeof cid == undefined || cid == null) {
                        cate = sourceData; //注意:这里直接return sourceData是不行的!
                        return cate;
                    }
                    if (sourceData.list) {
                        for (var i = 0; i < sourceData.list.length; i++) {
                            if (sourceData.list[i].cid == cid) {
                                cate = sourceData.list[i];
                                break;
                            }
                        }
                        if (cate == null) {
                            for (var i = 0; i < sourceData.list.length; i++) {
                                cate = category1._getCategory(sourceData.list[i], cid);
                                if (cate != null) {
                                    break;
                                }
                            }
                        }
                    }
                },
                error: function (data) {
                    alert(data);
                }
            });
            return cate;
        };

        //设置完成后通过load方法加载
        category1.load();

        /////////======================================================================================
        var category2 = $("#divCate2").category({ onSelect: function (cid, level, name) {
            this.setCategoryName();
        },
            onChange: function (cid, level, text) {
                $("#divResult2").html("您选择的分类编号为:" + this.getCategoryCid() + "<br />隐藏输入域的内容为:" + $("#" + this.config.hidField).val());
            }
        });
        category2.selectItems = [{ cid: 4 }, { cid: 73 }, { cid: 193}];
        category2.getCategory = function (cid, level) {
            var cate = null;
            $.ajax({
                type: "GET",
                async: false,
                url: "data/categorySourceData.htm",
                data: "T=" + Math.random(),
                success: function (data) {
                    var sourceData = eval("(" + data + ")");
                    if (typeof cid == undefined || cid == null) {
                        cate = sourceData; //注意:这里直接return sourceData是不行的!
                        return cate;
                    }
                    if (sourceData.list) {
                        for (var i = 0; i < sourceData.list.length; i++) {
                            if (sourceData.list[i].cid == cid) {
                                cate = sourceData.list[i];
                                break;
                            }
                        }
                        if (cate == null) {
                            for (var i = 0; i < sourceData.list.length; i++) {
                                cate = category2._getCategory(sourceData.list[i], cid);
                                if (cate != null) {
                                    break;
                                }
                            }
                        }
                    }
                },
                error: function (data) {
                    alert(data);
                }
            });
            return cate;
        };

        //设置完成后通过load方法加载
        category2.load();

    });
</script>
</head>

<body>
<!-- 分类选择代码开始 -->
<!-- 为防止样式被覆盖,这里全部使用行内样式 -->
    <div id="divCate1">

    </div>
<!-- 分类选择代码结束 -->

    <br />
    <br />
    <br />
    <br />
    <div id="divResult1"></div>
    <br />
    <br />
    <br />
    <br />
    <div id="divCate2"></div>
    <br />
    <br />
    <br />
    <br />
    <div id="divResult2"></div>
</body>
</html>

源码下载地址:http://download.csdn.net/detail/testcs_dn/7290577

时间: 2024-08-02 16:58:14

js仿百度文库文档上传页面的分类选择器_第二版的相关文章

仿百度文库文档上传页面的多级联动分类选择器

仿百度文库文档上传页面的多级联动分类选择器 下载地址:http://download.csdn.net/detail/testcs_dn/6848547,下载后评论,积分会返还的. 最终效果图: 使用示例代码: <!DOCTYPE html> <html> <head> <title>category</title> </head> <script type="text/javascript" src=&qu

怎样将WPS文档上传至云端?

  怎样将WPS文档上传至云端? 1.打开WPS某文档,点击顶端工具栏中的"办公空间",在弹出的菜单中点击"保存到云文档". 2.接着我们可以在云端新建文件夹或者直接保存均可.

文件类型识别-.WPS文档上传的判断为什么不能识别

问题描述 .WPS文档上传的判断为什么不能识别 'application/pdf', 'application/msword', 'application/vnd.ms-works', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' ); ......... if(!in_array($file["type"], $uptypes)) //检查文件类型 { echo "文件类型

百度文库删除自己上传过的文档的教程

  有时候,我们上传一些文档之后,又想删除,我们该怎么删除的,教大家一个删除的方法. 1.首先要进入百度文库的主页面.可以通过直接搜索百度文库或者直接在百度上面点击文库. 2.进入主页以后,选择上面的我的文库. 3.这时候,就会看到你上传的所有的文档的信息列表不管是成功还是不成功的. 4.然后再自己想要删除的那个文档前面,把√打上去. 5.这时候这个上面就看到删除这个按钮可以使用了,然后点击删除就可以了. 6.也可以在√打上去以后,直接在这个文件上面点击右键,会出现菜单,选择删除,也可以的. 7

如何删除百度文库中自己上传的文档呢?

1.我们先在百度登录,然后如下图在百度中会看到有一个[个人中心]→[我的文库],如下图所示 文档呢?-百度文库删除上传文档">2.然后在我的文库中我们点击[我的上传]如下图所示. 3.在这里就是我开始不知道删除文库的原因了,他的删除在上面选择在下面了,我们要选择下面的要删除的文档,然后点击上面的删除. 4.我们点击删除还是会给个确定删除提示了. 5.上面几步操作完会提示你删除成功,这文档就已经删除成功了. 小编提醒你,如果你删除错误了我们可以在回收站中找回来哦,如果你要在回收站都删除了那就

asp..net2.0文档上传 的一个方法(一个上传控件,上传多个文档 )

控件|上传|上传控件  前台 :   <table style="width:100%">         <tr>             <td style="width:15%">                 类型名称:</td>             <td>                <asp:DropDownList ID="TypeDDL" runat=&q

如何在在crs双机互备情况下实现文档上传?

问题描述 一台服务器用smartupload可以解决,可是另一台如果不想用ftp的话怎么实现文档的同步上传呢?

谁有javascript电子版文档 上传到这里 多谢啦

问题描述 要完整版的javascript电子文档,有例子说明 解决方案 解决方案二:JavaScript光看所谓的电子盗版书是学不会的!解决方案三:到卓越上去买吧!电子书实在是看不下去···

教育技术服务平台电子档上传方法

  家长工作内容 1.家长携带家庭户籍簿(原件及复印件,学生户口卡需提前复印).智能手机.学生身份证参加家长会. 2.家长会上,核查孩子的学籍信息是否正确,如有错误,在变更栏中填写变更信息,有关键信息变更的,请同时提交相关证明材料.检查无误后签字确认. 3.下载安装教育技术服务平台并注册登录,拍照上传已签字确认的"学籍信息确认表"作为电子版存档. 平台操作演示 步骤一:学生学籍信息的核查与确认 1.仔细阅读"全国中小学学籍基础信息确认表",核对学生信息,如有错误.变