js循环数据时绑定方法并将数据对象传递出来

代码是参考的layui的作者 贤心 的代码,其他的代码太多了,看的tree中的代码,虽然效果实现了,但是原理不是很清楚,因为涉及到闭包了,而我对于前段只知道基础的东西,对于深入的东西不是很清楚,所以,有幸看到的人,不要问我,我也不懂,嘿嘿

var dictype;

        $(function () {
            ajaxEx("/DictionaryInfo/GetDicType", {}, function (json) {
                if (json.Code == 0) {
                    var data = json.Data;

                    //dic.load(data);
                    //加载数据
                    dictionary.load(data);

                    return;
                }

                alert(json.Message);
            })
        })

        //对象
        var dictionary = {};

        //对象点击方法
        dictionary.click = function (elem,item) {
            //项绑定事件
            elem.children(‘a‘).on("click", function (e) {

                zsw.stope(e);

                dictype = item;

                LoadTable({ code: item.Code });
                //alert(JSON.stringify(item));
            })
        }

        //对象加载数据方法
        dictionary.load = function (json) {

            var dicListObj = $("#dicType");

            var html = "";

            if (json.length > 0) {

                $.each(json, function (i, item) {
                    if (i == 0) {
                        dictype = item;
                    }

                    //此句是关键,function方法闭包,不懂原理,对前端研究不深
                    html = $(["<li>", function () { return "<a>" + item.Name + "</a>" }(), "</li>"].join(‘‘));

                    dicListObj.append(html);

                    //触发单击方法
                    dictionary.click(html,item);

                })
            }

            dicListObj.append("<li> </li>");
        }

        //加载表格
        function LoadTable(obj) {
            var dicitemtable = table.render({
                elem: ‘#dicItem‘
          , url: ‘/DictionaryInfo/GetDicItem‘
          , method: "post"
          , where: obj//{code:dictype.Code}//where: {token: ‘sasasas‘, id: 123}
                //resuest://用于修改默认的请求中页码的参数名称
          , request: {
              pageName: ‘pageIndex‘ //页码的参数名称,默认:page
                , limitName: ‘pageSize‘ //每页数据量的参数名,默认:limit
          }
                //response 用于定义返回的数据格式
            , response: {
                statusName: ‘Code‘ //数据状态的字段名称,默认:code
                , statusCode: 0 //成功的状态码,默认:0
                , msgName: ‘Message‘ //状态信息的字段名称,默认:msg
                , countName: ‘TotalCount‘ //数据总数的字段名称,默认:count
                , dataName: ‘Data‘ //数据列表的字段名称,默认:data
            }
          , cellMinWidth: 80 //全局定义常规单元格的最小宽度,layui 2.2.1 新增
                //, width: "90%"//$(window).width()- 40
          , cols: [[
            //{ type: ‘checkbox‘ }  //开启多选框
            //{ checkbox: true }
             { type: ‘numbers‘, title: ‘序号‘ }
            //, { field: ‘Id‘, width: 80, title: ‘序号‘, sort: true,style:"display:none;" }//隐藏使用display
            //, { field: ‘numbers‘, width: 80, title: ‘序号‘, sort: true, style: "display:none;" }
            //DKey,Value
            , { field: ‘DKey‘, width: 80, title: ‘值‘, sort: true }
            , { field: ‘Value‘, width: 120, title: ‘显示名称‘, sort: true }
            //, { field: ‘Remark‘, title: ‘说明‘, sort: true/*, templet: ‘#temp1‘ 加载模板*/ }
            , { align: ‘center‘, width: 180, title: ‘操作‘, toolbar: ‘#barDicItem‘ }
          ]]
          , page: false
            , limit: 10
            , limits: [10, 30, 50, 100]
            , id: ‘idTest‘
            });
        }

  

原文地址:https://www.cnblogs.com/zhoushangwu/p/9191730.html

时间: 2024-10-22 08:25:07

js循环数据时绑定方法并将数据对象传递出来的相关文章

Python问题求助--如何将循环程序中每次输入的数据循环使用,即退出当前循环程序后,再次运行该循环程序时可以使用原先输入的数据信息?

1 card_list = [] 2 3 4 def main_desk(): 5 print('*'*50) 6 print('欢迎使用[名片管理系统]V1.0') 7 print('1.新建名片') 8 print('2.显示全部') 9 print('3.查询名片') 10 print('0.退出系统') 11 print('*'*50) 12 13 14 def new_card(): 15 print('新建名片') 16 print('='*50) 17 name_str = inp

js循环给li绑定事件实现 点击li弹出其索引值 和内容

代码如下: html代码 <ul> <li>房产</li> <li>家居</li> <li>二手房</li> </ul> 方法一: var itemli = document.getElementsByTagName("li"); for(var i = 0; i<itemli.length; i++){ itemli[i].index = i; //给每个li定义一个属性索引值,赋

向数据库中插入数据时字符集或查询是数据无法正常显示出现乱码问题

当向数据库插入数据出错或出局无法正常显示出现乱码时.首先应该想到的是数据库的编码问题.查看当前数据库服务器默认对数据库处理的字符集 show variables like  'character_set%'; character_set_client: 默认客户端来的数据格式 character_set_connection : 连接层字符集 character_set_database:  当前数据库字符集 character_set_results:服务器给外部的字符集 假如客户端字符集与数

触发器-当表1插入数据时将表1的数据插入表2

--触发器学习 ALTER trigger 触发器名 on 表1 for insert as begin if (select count(1) from 表1)=0 print '未插入数据' else insert into 表2(字段 )select 对应字段 from inserted end --存储过程学习 (1)分页 ALTER procedure 存储过程名( @pageIndex int, @pageSize int ) as declare @startRow int, @e

mysql插入数据时,去掉重复的数据;

1. 利用insert ignore into语句去重 mysql> INSERT IGNORE INTO person_tbl (last_name, first_name) -> VALUES( 'J', 'T'); Query OK, 1 row affected (0.00 sec) mysql> INSERT IGNORE INTO person_tbl (last_name, first_name) -> VALUES( 'J', 'T'); Query OK, 0 r

python24 面向对象的绑定方法 类与类之间的继承

## 类属性与对象属性 类中应该仅存储所有对象共有的内容 ? 如所有人的国籍相同那就放到类中 对象中存储每个对象独有的内容 ? 如每个人的名字都不同 ## __init__方法的作用 init 是初始化的缩写 用于为对象的属性设置初始值 特点: ```# 执行时机:当实例化产生对象时会自动执行该函数# 会自动传入需要初始化的对象# 初始化必须包含至少一个参数 用于表示对象本身# 该函数不允许有返回值 必须为None``` ## 绑定方法 绑定即两个东西绑在一起 方法就是函数 那就是说绑定方法 =

绑定与非绑定方法 继承 继承与抽象 查找属性关系 派生与覆盖 访问父类的内容

类属性与对象属性 类中应该仅存储所有对象共有的内容 如所有人的国籍相同那就放到类中 对象中存储每个对象独有的内容 ? 如每个人的名字都不同 初始化函数class Person: color = 'white' def read(self): print('hamlet') # 创建对象 也称之为实例化 产生的对象也称之为实例a1=Person()print(a1)print(a1.color)print(a1.__dict__) a2 = Person()print(a2)print(a2.re

jxl读取excel浮点数据时,小数点后三位截取问题

今天导入Excel数据时,发现很多浮点数据被自动四舍五入只保留了三位,原来是jxl里对getContents()进行了封装,对数值型数据作了该处理.一般我们会对读取excel的一整套流程作为工具类,那么在读取单元格数据时,应该将数据分成三类(一般情况):日期,数值,普通字符串.最后统一转换成字符串类型. 如果是日期类型,可以使用DateCell对象提供的方法: SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Cell

全面解析python类的绑定方法与非绑定方法

类中的方法有两类: 绑定方法 非绑定方法 一.绑定方法 1.对象的绑定方法 首先我们明确一个知识点,凡是类中的方法或函数,默认情况下都是绑定给对象使用的.下面,我们通过实例,来慢慢解析绑定方法的应用. class People: def __init__(self,name,age): self.name = name self.age = age def talk(self): pass p = People('xiaohua',18) print(p.talk) 输出结果: <bound m