jQuery MiniUI

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

combobox问题求助 [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2014-5-5 14:17:23 |只看该作者 |倒序浏览
我遇到这样一个问题,使用combobox控件时,我先加载的数据
var form = new mini.Form(tableName);
form.setData(obj,false);
数据加载完毕后,我加载combobox的下拉值.
现在问题是我数据值在下拉列表中不存在,这时控件就不会显示我的数据值.我要在匹配不上值时显示原始值!!!
论坛里找了下目前没有人提出这样的问题,比较急...求帮助

Rank: 8Rank: 8

沙发
发表于 2014-5-5 14:43:34 |只看该作者
把你的代码贴一下

Rank: 2

板凳
发表于 2014-5-5 14:48:18 |只看该作者
felt 发表于 2014-5-5 14:43
把你的代码贴一下

这是加载表单数据的:
$.ajax({
                         url: "<%=path%>/verifyServlet?action=queryFormData",
                         type: "post",
                         data:{tableName:tableName,id:dataId},
                         success: function (obj)
                         {
                                 //调整表单值
                                 var form = new mini.Form(tableName);
                                 form.setData(obj,false);
                                 if(callback && callback instanceof Function)//调用回调函数,传递table对象和数据json对象
                                             callback(table,obj);
                         }
                    });

这是加载数据字典的:

/*加载主表单的下拉框字典*/
        $.each(table.columns,function(index,cl){
                if(cl.dictionary!=null&&cl.dictionary!=""&&!cl.unloadDictionary)//判断此列是否含有数据字典绑定
                {       
                        var domTag=mini.get(cl.queryName);
                        try
                        {
                                if(domTag!=undefined&&domTag!=null)
                                {
                                        domTag.load("<%=path%>/dictionaryServlet?action=queryDictionaryJson&dictionary="+cl.dictionary);
                                       
                                }
                                       
                        }
                        catch(err)
                        {
                                txt="此页面存在一个错误!\n";
                                txt+="错误描述: 控件["+cl.label+"]加载数据字典失败!此控件非combobox类型\n\n";
                                txt+="点击OK继续。\n";
                                alert(txt);
                        }
                       
                }
        });

Rank: 8Rank: 8

地板
发表于 2014-5-5 14:53:18 |只看该作者
chenjianglin 发表于 2014-5-5 14:48
这是加载表单数据的:
$.ajax({
                         url: "/verifyServlet?action=queryFormData",

就是说你加载的值在你的下拉列表并没有,直接加载就把那个值去掉了,而你要保留这个加载的值是不是?

Rank: 2

5#
发表于 2014-5-5 14:56:01 |只看该作者
felt 发表于 2014-5-5 14:53
就是说你加载的值在你的下拉列表并没有,直接加载就把那个值去掉了,而你要保留这个加载的值是不是? ...

是的,我测试发现,控件中不显示,但是getValue()还是能拿到值.我就想能显示出来!!!

Rank: 8Rank: 8

6#
发表于 2014-5-5 15:03:14 |只看该作者
chenjianglin 发表于 2014-5-5 14:56
是的,我测试发现,控件中不显示,但是getValue()还是能拿到值.我就想能显示出来!!! ...

加载url前把combobox的text和value取出来,
然后加载完再setValue和setText回去

Rank: 2

7#
发表于 2014-5-5 15:45:18 |只看该作者
felt 发表于 2014-5-5 15:03
加载url前把combobox的text和value取出来,
然后加载完再setValue和setText回去

我现在写个方法在数据和数据字典都加载完后对值就行个匹配,匹配不上的调下setText()方法设值

Rank: 2

8#
发表于 2014-5-5 17:29:02 |只看该作者
felt 发表于 2014-5-5 15:03
加载url前把combobox的text和value取出来,
然后加载完再setValue和setText回去

还有个dataGrid的问题,我获取表格下的所有数据,然后转换json提交到后台后 拿到的字符串有一些字段是我没有配置的字段,比如rownumber,_uid,_id,我不想要这些,怎么弄

Rank: 2

9#
发表于 2014-5-5 17:30:15 |只看该作者
felt 发表于 2014-5-5 15:03
加载url前把combobox的text和value取出来,
然后加载完再setValue和setText回去

看 是这样的
[{"PAPERTYPE":"5","PASSPORTID":"1","PAPCODE":"发大概多少","EXECUTIVEID":"6796","rownumber":"1","_id":15,"_uid":15}]

Rank: 8Rank: 8

10#
发表于 2014-5-5 17:46:13 |只看该作者
chenjianglin 发表于 2014-5-5 17:30
看 是这样的
[{"PAPERTYPE":"5","PASSPORTID":"1","PAPCODE":"发大概多少","EXECUTIVEID":"6796","rownum ...

这些带下划线的是miniui内部需要的,你在存储数据库的时候,不要对这些数据进行操作

Archiver|普加软件

GMT+8, 2024-9-29 13:24 , Processed in 1.044103 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部