jQuery MiniUI

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

ButtonEdit 的valuechanged不触发 [复制链接]

Rank: 1

跳转到指定楼层
楼主
发表于 2017-9-1 17:50:18 |只看该作者 |倒序浏览
  这是html的代码                 
<th><font color="red">*</font>所属机构&nbsp;</th>
                                        <td><input id="bsc001" name="bsc001" class="mini-buttonedit"
                                                onbuttonclick="cselectOrgan" required="true"
                                                requiredErrorText="所属机构不能为空" /></td>


这是js的代码
       var bsc001 = mini.get("bsc001")
        var bsc064 = mini.get("bsc064")
        bsc001.on("valuechanged", function(e) {
               
                loadWd(bsc001.value);
    });
function loadWd(str){
                bsc064.load("/lemis/test/sc80/getWd1?bsc001="+str)
        }
为什么就valuechanged的事件不会触发,其他事件都正常?

Rank: 8Rank: 8

沙发
发表于 2017-9-4 09:39:29 |只看该作者
我们控件的valuechanged事件在失去焦点的时候触发。
js赋值不会触发,需要主动调用doValueChanged()方法来触发。

Rank: 1

板凳
发表于 2017-9-4 15:39:18 |只看该作者
dforce 发表于 2017-9-4 09:39
我们控件的valuechanged事件在失去焦点的时候触发。
js赋值不会触发,需要主动调用doValueChanged()方法来 ...

mini.get("bsc001").doValueChanged();
为什么只有第一次不选值的时候有效果,第二次开始改变值了就没效果了

Rank: 8Rank: 8

地板
发表于 2017-9-4 16:07:18 |只看该作者
15858180882 发表于 2017-9-4 15:39
mini.get("bsc001").doValueChanged();
为什么只有第一次不选值的时候有效果,第二次开始改变值了就没效 ...

mini.get("bsc001").doValueChanged();
是个一次性的方法,你再次需要触发的话,请再执行一次

Rank: 1

5#
发表于 2017-9-4 16:15:27 |只看该作者
dforce 发表于 2017-9-4 16:07
mini.get("bsc001").doValueChanged();
是个一次性的方法,你再次需要触发的话,请再执行一次 ...

我想要让buttonedit每次选取值改变都触发一个方法,而不是手动输入值,mini.get("bsc001").doValueChanged(function(e) {
               
                loadWd(bsc001.value);
    });这样好像不行,那要怎么做?怎么调用事件方法?

Rank: 8Rank: 8

6#
发表于 2017-9-4 16:18:25 |只看该作者
15858180882 发表于 2017-9-4 16:15
我想要让buttonedit每次选取值改变都触发一个方法,而不是手动输入值,mini.get("bsc001").doValueChange ...

control.on("valuechanged",function(e){
    ........
})
control.doValueChanged();

Rank: 1

7#
发表于 2017-9-4 16:27:43 |只看该作者
dforce 发表于 2017-9-4 16:18
control.on("valuechanged",function(e){
    ........
})

bsc001.on("valuechanged", function(e) {
                loadWd(bsc001.value);
    })
    bsc001.doValueChanged();
这样还是只有手动输入有效果,选择没有效果啊

Rank: 8Rank: 8

8#
发表于 2017-9-4 16:36:04 |只看该作者
15858180882 发表于 2017-9-4 16:27
bsc001.on("valuechanged", function(e) {
                loadWd(bsc001.value);
    })

1 原则,事件只有手动输入会触发,js设置不会触发。
2 我的意思是你js设置的时候调用一个doValueChanged这个方法来主动触发事件,你设置一次就要调用一次。

Rank: 1

9#
发表于 2017-9-4 17:02:28 |只看该作者
dforce 发表于 2017-9-4 16:36
1 原则,事件只有手动输入会触发,js设置不会触发。
2 我的意思是你js设置的时候调用一个doValueChanged ...

好的,非常感谢!

Archiver|普加软件

GMT+8, 2025-3-14 06:58 , Processed in 1.030855 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部