起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1667|回复: 4

[结贴] 如何清除下拉列表的上次选择内容???

[复制链接]

9

主题

57

帖子

205

积分

中级会员

Rank: 3Rank: 3

积分
205
QQ
发表于 2017-12-13 22:29:43 | 显示全部楼层 |阅读模式
void val(string value)
给select赋值或者取值,不填参数表示取值,使用绑定的data的当前行字段也可以取到这个值。如果想通过js改变select中的值就可以通过参数赋值,但是设置的值必须是下拉data数据集中存在的值!否则不成功!
//select取值
this.comp('select1').val();
//select设值,注意!!设置的值必须是下拉data数据集中存在的值!否则不成功!
this.comp('select1').val('值');
我的问题是,我需要通过另外一个下拉列表A来初始第二个下拉列表B的内容;
那么在下拉列表A改变选择内容的时候,如何初始下拉列表B的值,
比如就下拉列表A1内容 匹配下拉列表B1, B2
下拉列表A2内容,匹配下拉列表B1,B2,B3,B4
当我将下拉列表A的内容从A2选择改变到A1的时候,如果之前在下拉列表B中已经选择了B4, 那么这时候就会出现下拉列表A1内容匹配的下拉列表B1,B2,B4,
也就是说,下拉列表B的内容并没有清除上次选择;

9

主题

57

帖子

205

积分

中级会员

Rank: 3Rank: 3

积分
205
QQ
 楼主| 发表于 2017-12-13 22:45:43 | 显示全部楼层
或者说,如何让一个下拉列表,回到初始的:未选择状态!!
回复 支持 反对

使用道具 举报

9

主题

57

帖子

205

积分

中级会员

Rank: 3Rank: 3

积分
205
QQ
 楼主| 发表于 2017-12-13 22:47:39 | 显示全部楼层
        Model.prototype.seliReportYearChange = function(event){
                console.log("seliReportYearChange...",event.value);
             var me = this;
            var getiReportYear= me.comp('seliReportYear').val();
            if(getiReportYear!==""){
                    console.log("getiReportYear...",getiReportYear);
                    me.comp("datacAdSMarket").clear();
                    if(getiReportYear=="1"){
                                me.comp("datacAdSMarket").newData({
                                        "defaultValues" : [{
                                                "cAdSMarket" : "本地市场",
                                                "ID" : "1"
                                        }]
                                });
                    }else if(getiReportYear=="2"){
                                me.comp("datacAdSMarket").newData({
                                        "defaultValues" : [{
                                                "cAdSMarket" : "本地市场",
                                                "ID" : "1"
                                        },{
                                                "cAdSMarket" : "国内市场",
                                                "ID" : "2"
                                        }]
                                });
                    } else {
                                me.comp("datacAdSMarket").newData({
                                        "defaultValues" : [{
                                                "cAdSMarket" : "本地市场",
                                                "ID" : "1"
                                        },{
                                                "cAdSMarket" : "国内市场",
                                                "ID" : "2"
                                        },{
                                                "cAdSMarket" : "国际市场",
                                                "ID" : "3"
                                        },{
                                                "cAdSMarket" : "网络市场",
                                                "ID" : "4"
                                        }]
                                });
                    }
                    //me.comp('selcAdSMarket').val("本地市场");
                    me.comp("datacAdSMarket").first();
                    //me.comp("datacAdSMarket").refreshData();
            }
    };
回复 支持 反对

使用道具 举报

9

主题

57

帖子

205

积分

中级会员

Rank: 3Rank: 3

积分
205
QQ
 楼主| 发表于 2017-12-14 02:16:30 | 显示全部楼层
本帖最后由 FC2017 于 2017-12-14 02:18 编辑

检查HTML内容,发现这个多出来的选项_default_option_='true',
然后在select.js中找到一段代码:
                _optionsBeforeRender : function(){
                        this.$domNode.children("[_default_option_='true']").remove();// 删除为了显示增加的option
                },


直接调用就OK了;
this.comp('selcAdSMarket')._optionsBeforeRender();
看来还是需要多看看组件的源码;很多方法都是可以直接调用的,文档中根本看不到!
回复 支持 反对

使用道具 举报

9

主题

57

帖子

205

积分

中级会员

Rank: 3Rank: 3

积分
205
QQ
 楼主| 发表于 2017-12-14 02:21:39 | 显示全部楼层
问题已经自己解决了,如何结贴??没有找到门!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-6-14 06:17 , Processed in 0.061142 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表