jQuery MiniUI

标题: ButtonEdit 的valuechanged不触发 [打印本页]

作者: 15858180882    时间: 2017-9-1 17:50:18     标题: ButtonEdit 的valuechanged不触发

  这是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的事件不会触发,其他事件都正常?


作者: dforce    时间: 2017-9-4 09:39:29

我们控件的valuechanged事件在失去焦点的时候触发。
js赋值不会触发,需要主动调用doValueChanged()方法来触发。
作者: 15858180882    时间: 2017-9-4 15:39:18

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

mini.get("bsc001").doValueChanged();
为什么只有第一次不选值的时候有效果,第二次开始改变值了就没效果了
作者: dforce    时间: 2017-9-4 16:07:18

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

mini.get("bsc001").doValueChanged();
是个一次性的方法,你再次需要触发的话,请再执行一次
作者: 15858180882    时间: 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);
    });这样好像不行,那要怎么做?怎么调用事件方法?

作者: dforce    时间: 2017-9-4 16:18:25

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

control.on("valuechanged",function(e){
    ........
})
control.doValueChanged();
作者: 15858180882    时间: 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();
这样还是只有手动输入有效果,选择没有效果啊
作者: dforce    时间: 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这个方法来主动触发事件,你设置一次就要调用一次。
作者: 15858180882    时间: 2017-9-4 17:02:28

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

好的,非常感谢!




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2