dwz框架的table优化,增加选定行处理。

由于不知道作者是如何设计的,不值得dwz框架如何得到选定行的某列的值,看示例还得设这什么row,rel属性,不如改进一下,方便自己使用。

需要解决3个问题:

1、前台页面table自定义事件处理函数问题

2、前台页面自定义函数接收dwz框架传递过来的参数(实际上是tr的click事件,但是是在dwz框架里)

3、如果一个页面有两个table,他们之间相互影响吗? (这个问题实际上现在就可以回答,但是还是用例子验证一下比较好。经过验证,两个table不会冲突,因为想一下jquery的原理,他是对每个table进行了事件绑定,所以影响不会超出他绑定的table。这个对于理解dwz那复杂的jquery的$代码还是有好处的。)

个人理解:dwz框架对检索到的当前页面的每个table都执行了jTable()函数,即对该table该绑定的事件都绑定了,但是如果在jtable的开头声明一个变量的话,两个table初始化时会不会相互影响呢。说到底dwz 是个js框架,js都是函数,最终都是要在同个页面解释执行的,后者很可能会覆盖前者的变量。不考虑这么多了,反正我增加的自定义事件,只是初始化时把函数名传过来,最终还是在本table的tr的click中执行的,因此变量只是起了个传递的作用,外部并不调用它。因此,执行上没有问题,而且我也已经验证过了多个table不会影响。

下面就上代码吧:

1.dwz.ui.js

    //tables
    //alert('初始化dwz.ui.table');
    //alert($("table.table", $p).length);
    //原来的初始化语句
    //$("table.table", $p).jTable();

    //优化后的初始化语句,让外部可以获取到点击某行选中的值
    $("table.table", $p).each(function(){
      var $this=$(this);
      var opts={};
      if ($this.attr("onselrow")) opts.onselrow= $this.attr("onselrow");
      $this.jTable(opts);

    });
 

2.dwz.stable.js

    $.fn.jTable = function(options){
        //alert('运行dwz.stable.jtable');
        //alert(options);
        var onselrow=options.onselrow;   //!!dwz初始化时,将页面的table的onselrow属性规定的函数名字传进来。
        //alert(onselrow);

        ......

                ........

                $tr.click(function(){
                    //根据前台页面table设置的onselrow事件处理函数名字,在这里加上参数,形成新的函数࿰

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值