jQuery MiniUI

 找回密码
 立即注册
查看: 7010|回复: 15
打印 上一主题 下一主题

关于官网Demo弹出表格多选(JS)其中的一个问题。 [复制链接]

Rank: 6Rank: 6

跳转到指定楼层
楼主
发表于 2013-5-8 09:38:09 |只看该作者 |正序浏览
http://www.miniui.com/demo/#src=buttonedit/selectGrid_js.html

这是Demo地址。。

JS代码中有一段.

function onButtonEdit(e) {
        var buttonEdit = e.sender;

        var win = new UserSelectWindow();

        win.show();
        win.search();

        //初始化数据
        win.setData(null, function (action) {
            if (action == "ok") {
                //获取数据
                var row = win.getData();
                if (row) {
                    buttonEdit.setValue(row.id);
                    buttonEdit.setText(row.name);
                    alert("选中记录: " + row.name);
                }
            }
        });
    }


红色部分。。我的row中,可能不是叫id,name  而且到底叫什么,是动态的,并不是每一次执行这段JS都是固定的名称。。有没有什么方法可以动态设置row中,我要取某个字段呢?

比如我第一次执行这段JS的时候, 实际需要的是  buttonEdit.setValue(row.aa); buttonEdit.setText(row.bb); 第二次执行的时候由于加载的Data和Column不一样,代码实际需要的是 buttonEdit.setValue(row.cc); buttonEdit.setText(row.dd);


这个应该如何实现???

Rank: 8Rank: 8

16#
发表于 2013-5-9 10:47:47 |只看该作者
nbakill2 发表于 2013-5-8 18:02
貌似 e.sender.PKTitle是 undefind哦。。。



<body>
    <div class='mini-buttonedit' data-options="{PKTitle:'xxxx',IsMultiple:'yyyy'}" onbuttonclick='onbuttonclick'>
</body>
</html>
<script type="text/javascript">
    mini.parse()
    function onbuttonclick(e) {
        alert(e.sender.PKTitle)
    }
</script>

附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 6Rank: 6

15#
发表于 2013-5-8 18:02:43 |只看该作者
factory 发表于 2013-5-8 17:36
e.sender 就是事件激发者

貌似 e.sender.PKTitle是 undefind哦。。。

Rank: 8Rank: 8

14#
发表于 2013-5-8 17:36:24 |只看该作者
nbakill2 发表于 2013-5-8 17:15
有没有什么办法,可以让它在触发事件的时候,获得自己的data-options里面的属性的值?? ...

e.sender 就是事件激发者

Rank: 6Rank: 6

13#
发表于 2013-5-8 17:15:28 |只看该作者
factory 发表于 2013-5-8 16:46
buttonedit 没onclick事件,只有onbuttonclick,你得去看看API。。。。

有没有什么办法,可以让它在触发事件的时候,获得自己的data-options里面的属性的值??

Rank: 8Rank: 8

12#
发表于 2013-5-8 16:46:04 |只看该作者
nbakill2 发表于 2013-5-8 15:07
我是按照你这个写的,但是无法触发这个事件哦。。。

buttonedit 没onclick事件,只有onbuttonclick,你得去看看API。。。。

Rank: 6Rank: 6

11#
发表于 2013-5-8 15:26:29 |只看该作者
本帖最后由 nbakill2 于 2013-5-8 15:38 编辑
felt 发表于 2013-5-8 15:20
onbuttonclick

<div class='mini-buttonedit' data-options="{PKTitle:'xxxx',IsMultiple:'yyyy'}" onbuttonclick='onbuttonclick'>

我本来的页面上就有这个JS方法,如下

function onButtonEdit(e) {
        var btnEdit = this;

        alert(e.PKTitle);//这里获取不到PKTitle啊!

        mini.open({
            url: bootPATH + "../demo/CommonLibs/MultiSelectGridWindow3.html",
            width: 650,
            height: 380,
            ondestroy: function (action) {

                if (action == "ok") {
                    var iframe = this.getIFrameEl();

                    var data = iframe.contentWindow.GetData();
                    data = mini.clone(data);

                    btnEdit.setValue(data.id);
                    btnEdit.setText(data.text);
                }
            }
        });

    }

Rank: 8Rank: 8

10#
发表于 2013-5-8 15:20:49 |只看该作者
onbuttonclick

Rank: 6Rank: 6

9#
发表于 2013-5-8 15:07:51 |只看该作者
本帖最后由 nbakill2 于 2013-5-8 15:09 编辑
factory 发表于 2013-5-8 15:04
onclick="click"

function click(e){

我是按照你这个写的,但是无法触发这个事件哦。。。


Rank: 8Rank: 8

8#
发表于 2013-5-8 15:04:04 |只看该作者
nbakill2 发表于 2013-5-8 15:00
我自己能不能在这行代码中加入  onclick='click(this);'

然后页面JS中有这样一个方法

onclick="click"

function click(e){
    ....
}

Archiver|普加软件

GMT+8, 2024-6-28 02:07 , Processed in 1.065240 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部