LigerUI中下拉框Combox级联操作中,后combox返回空串的问题

动态:更新几篇工作中ligerUI的文章。

目的:记录、累积经验;既作自己收藏、同也分享大家。

归档:最近几篇博客全部归档在《LigerUI—工作随记》中,方便查阅哈


博客中不更新控件js使用,因为都用具体的教程demo和api。稍后上传博客中~

在此写一些工作中使用,在api中没有找到,或没有在明显地方。

今天核心:LigerUI中combox级联操作,第二个combox返回空串

Demo:

第一个combox查询部门的树形结构。第二个combox显示部门下所有的员工。

级联事件:

combox的onSelected或onBeforeSelect事件。

    $.ajax({
		url : "/ibpe/departadduser/selectUsersByDepartID.do?",
		dataType : "json",
		type : "post",
		data : {
			"presid" : depart
		      },	
		success : function(data, msg) {
		         liger.get("realname").setData(data); 
		 },	  
		 error : function() {
			$.ligerDialog.error("查询用户信息失败");
			}				 
    });
但是:若data为空,即使使用:liger.get("realname").setData(data); 赋值,打印realname combox的数据源为null,但是显示combox下拉框文本依然保留 上次 显示的数据源。

即使想法设法:liger.get("realname").data=null;liger.get("realname").data=“”liger.get("realname").data=“[]”

结果统统不可以。

按理说,赋值给null,就可以了,到底怎么回事?

分析部门源码如下:

setData: function (data)
        {
            var g = this, p = this.options; 
            if (!data || !data.length) return;
            if (g.data != data) g.data = data;
看这段代码,可以发现,怪不得,若返回空时,保留上次的数据文本呢。

if (!data || !data.length) return; 当data.length=0时,竟然return了。

因此,if (g.data != data) g.data = data,这说明,对象.data 或setData方法是可寻的,只不过有上面的前提而已。

那怎么办,一改源码。【这个不足为奇,毕竟ligerUI是个人的作品,不过即使有小 bug,还是蛮令人佩服的哈】

二:另谋出路。

哦,对了,既然保留上次的问题,那就随他所愿,只要用户看不见就行。

ok,目的有了,寻方法,清空的方法。既然data=null 不可以,肯定有有一种表面清除的方法。

虽然api中没有此方法,不过通过查找其源码,嘻嘻,发现喽**clearContent()

OK,目的到底了。过程如下:

success : function(data, msg) {
	if(data.length==0){
	    loginname.clearContent();
		}else{
	    liger.get("realname").setData(data); 
		     }
		 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值