下拉树的公共插件

/**
 * 公共的设备型号的下拉
 */
function pubModel(id){
    var list=getEqumentList();
    $(list).each(function(idx,ele){
        $("#"+id).append(‘<option value="‘+this.id+‘">‘+this.text+‘</option>‘);
    })
}
function getEqumentList() {
    var equmentList = [];
    $.ajaxSetup({async : false});
    $.post("Filter_listEqument.action", {
    }, function(respData, status) {
        var resultList = respData.resultList;
        if (resultList != null)
            for (var i=0; i<resultList.length; ++i)
                equmentList.push(eval("("+resultList[i]+")"));
    }, "json");
    $.ajaxSetup({async : true});
    return equmentList;
}

/**
 * 公共的设备状态的下拉
 */
function pubDevState(id){
    var list=[{‘id‘:‘0‘,‘text‘:‘正常‘}, {‘id‘:‘1‘,‘text‘:‘停用‘}, {‘id‘:‘2‘,‘text‘:‘故障‘}]
    $(list).each(function(idx,ele){
        $("#"+id).append(‘<option value="‘+this.id+‘">‘+this.text+‘</option>‘);
    })
}
/**
 * 公共的抄表类型下拉
 */
function pubReadType(id){
    var list=[{id:0,text:‘数采‘},{id:1,text:‘手抄‘}];
    $(list).each(function(idx,ele){
        $("#"+id).append(‘<option value="‘+this.id+‘">‘+this.text+‘</option>‘);
    })
}
/**
 * 公共的部门的下拉
 */
;(function($){
    var me;//input输入框
    var selectId="";
    $.fn.buildButtomTree=function(data,_id){
        selectId=!!_id?_id:"";
        if(_id){
            this.val(depObj[_id]);
            this.attr("departmentval",depObj[_id]);
        }
        // var data=[
        //     {id: "101001", name: "计划财务部", pId: "001", code: "101001"},
        //     {id: "105001", name: "港吉", pId: "001", code: "105001"},
        //     {id: "001", name: "整个公司", pId: "000", code: "001"}
        // ]
        //构建html
        var str=
            ‘<div class="menuContent" style="display:none;overflow:auto">‘+
                ‘<ul id="treeDemo" class="ztree" style="margin-top:0;width:177px"></ul>‘+
            ‘</div>‘;
        this.parent().append(str);
        this.click(function(){
            showMenu();
        })
        initTreeData(data,this);
    }
    var initTreeData=function(zNodes,el){
        me=el;
        var setting = {
            view: {
                selectedMulti: false //是否允许多选
            },
            data: {
                simpleData: {
                    enable: true
                }
            },
            callback: {
                //zTree节点的点击事件
                onClick: function(e, treeId, treeNode){
                    var zTree = $.fn.zTree.getZTreeObj("treeDemo"),
                    nodes = zTree.getSelectedNodes();
                    var v = "",c="";
                    nodes.sort(function compare(a,b){return a.id-b.id;});
                    for (var i=0, l=nodes.length; i<l; i++) {
                        v += nodes[i].name + ",";
                        //v += nodes[i].name;
                        //c += nodes[i].code + ",";
                        c += nodes[i].code;
                    }
                    if (v.length > 0 ) v = v.substring(0, v.length-1);
                    var cityObj =me;
                    cityObj.val(v);
                    cityObj.attr("departmentval", c);
                    hideMenu();
                }
            }
        };
        //var $tree=el.next().find(".ztree");
        $.fn.zTree.init($("#treeDemo"), setting, zNodes);
        var zTree = $.fn.zTree.getZTreeObj("treeDemo");
        if(!!selectId){
            var node=zTree.getNodeByParam("id",selectId);
            console.log(node);
            //设置选中
            zTree.selectNode(node);
        }

        zTree.expandAll(true);

    }
    var hideMenu=function(){
        me.next().fadeOut("fast");
        $("body").unbind("mousedown", onBodyDown);
    }
    var onBodyDown=function(){
        if (!(event.target.id == "menuBtn" || event.target.id == "menuContent" || $(event.target).parents("#menuContent").length>0)) {
            hideMenu();
        }
    }
    var showMenu=function(){
        me.next().slideDown("fast");
        $("body").bind("mousedown", onBodyDown);
    }
})(jQuery);

原文地址:https://www.cnblogs.com/pengfei25/p/9275734.html

时间: 2024-10-14 13:44:55

下拉树的公共插件的相关文章

Extjs下拉树代码测试总结

http://blog.csdn.net/kunoy/article/details/8067801 首先主要代码源自网络,对那些无私的奉献者表示感谢! 笔者对这些代码做了二次修改,并总结如下: Extjs3.x版本下拉树代码: [javascript] view plaincopy Ext.ux.TreeCombo = Ext.extend(Ext.form.ComboBox, { constructor : function(cfg) { cfg = cfg || {}; Ext.ux.Tr

EXTJS下拉树ComboBoxTree参数提交及回显方法

http://blog.csdn.net/wjlht/article/details/6085245 使用extjs可以构造出下拉数,但是不方便向form提交参数,在此,笔者想到一个办法,很方便ComboBoxTree向form提交. 原理: 在form中增加一个隐藏的字段,当在comboBoxTree中选定值后自动在隐藏字段中赋值. 为实现此方法,需要重载comboBoxTree中collapse事件方法. Ext.ux.ComboBoxTree = function(){    this.t

[jQueryUI] - Chosen:select下拉选择框美化插件及问题【转】

hosen 是一个支持jquery的select下拉框美化插件,它能让丑陋的.很长的select选择框变的更好看.更方便.不仅如此,它更扩展了select,增加了自动筛选的功能.它可对列表进行分组,同时也可禁用某些选择项. 先来看下插件的效果:   跟这个比起来,原来的select样式是不是弱爆了! 马上来武装我们的select吧: 1.先把js和css文件引用到网页里面去: ? 1 2 3 <link href="js/jqueryUI/chosen/chosen.css" t

jquery.chosen.js下拉选择框美化插件项目实例

由于之前使用的bootstrap-select插件是建立在bootstrap基础上的,实际使用到项目中的时候,与我们使用的ace-admin(基于bootstrap)存在样式冲突,导致下拉框的样式发生变化.为了界面的美观,不得已查资料寻找另外的插件. 使用jquery.chosen.js下拉选择框美化插件同样也能达到类似效果 完成效果如下 实现步骤如下 1.导入相关文件 <link rel="stylesheet" href="${ctxStatic}/css/chos

WPF 组织机构下拉树多选,递归绑定方式现实

原文:WPF 组织机构下拉树多选,递归绑定方式现实 使用HierarchicalDataTemplate递归绑定现实 XAML代码: <UserControl x:Class="SunCreate.CombatPlatform.Client.MultiSelOrgTree" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas

c# - Winform DatagridView上显示下拉树

Winform的DatagridView是不支持下拉树的,所以需要扩展 废话不多说,直接贴代码 首先需要对comBox扩展,下拉内容变成TreeView using System.Drawing;using System.Windows.Forms;namespace WindowsApplication23{ public class ComboBoxTreeView : ComboBox { private const int WM_LBUTTONDOWN = 0x201, WM_LBUTT

jqgrid 表格中筛选条件的多选下拉,树形下拉 ;文本框清除插件;高级查询多条件动态筛选插件

/** * @@desc 文本框清除按钮,如果isAutoWrap为false当前文本框父级必须是relative定位,boostrap参考input-group * @@author bear.LEE <571115139#qq.com> * @@since 2018-08-21 **/ ; (function ($) { $.fn.extend({ addClearBtn: function (options, $o) { var deft = { symbolClass: "f

js 自动生成下拉树

toTree:function(treeDatas) {       var that = this;       var rs = [];  for(var i=0; i<treeDatas.length; i++) { var pid = -1; if(treeDatas[i].hasOwnProperty("pid")){ pid = treeDatas[i].pid; } rs.push({id: treeDatas[i].id, name: treeDatas[i].s

Asp.net下拉树实现(Easy UI ComboTree)

场景描述:某个公司有多个部门并且部门存在子部门,通过一个下拉框选取多个部门,但是如果某个部门的子部门被全部选择,则只取该部门,而忽略子部门.(叶子节点全被选中时,只取父节点) 知识点:ComboTree.一般处理程序.递归.Json 效果如图 数据库表设计:unit_main unit_id unit_name parent_id desc 部门ID 部门名称 父ID 说明 节点类设计: 1 public class Unit 2 { 3 public decimal id { get; set