jQuery MiniUI

标题: combobox问题求助 [打印本页]

作者: chenjianglin    时间: 2014-5-5 14:17:23     标题: combobox问题求助

我遇到这样一个问题,使用combobox控件时,我先加载的数据
var form = new mini.Form(tableName);
form.setData(obj,false);
数据加载完毕后,我加载combobox的下拉值.
现在问题是我数据值在下拉列表中不存在,这时控件就不会显示我的数据值.我要在匹配不上值时显示原始值!!!
论坛里找了下目前没有人提出这样的问题,比较急...求帮助


作者: felt    时间: 2014-5-5 14:43:34

把你的代码贴一下
作者: chenjianglin    时间: 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);
                        }
                       
                }
        });
作者: felt    时间: 2014-5-5 14:53:18

chenjianglin 发表于 2014-5-5 14:48
这是加载表单数据的:
$.ajax({
                         url: "/verifyServlet?action=queryFormData",

就是说你加载的值在你的下拉列表并没有,直接加载就把那个值去掉了,而你要保留这个加载的值是不是?
作者: chenjianglin    时间: 2014-5-5 14:56:01

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

是的,我测试发现,控件中不显示,但是getValue()还是能拿到值.我就想能显示出来!!!
作者: felt    时间: 2014-5-5 15:03:14

chenjianglin 发表于 2014-5-5 14:56
是的,我测试发现,控件中不显示,但是getValue()还是能拿到值.我就想能显示出来!!! ...

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

作者: chenjianglin    时间: 2014-5-5 15:45:18

felt 发表于 2014-5-5 15:03
加载url前把combobox的text和value取出来,
然后加载完再setValue和setText回去

我现在写个方法在数据和数据字典都加载完后对值就行个匹配,匹配不上的调下setText()方法设值
作者: chenjianglin    时间: 2014-5-5 17:29:02

felt 发表于 2014-5-5 15:03
加载url前把combobox的text和value取出来,
然后加载完再setValue和setText回去

还有个dataGrid的问题,我获取表格下的所有数据,然后转换json提交到后台后 拿到的字符串有一些字段是我没有配置的字段,比如rownumber,_uid,_id,我不想要这些,怎么弄
作者: chenjianglin    时间: 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}]
作者: factory    时间: 2014-5-5 17:46:13

chenjianglin 发表于 2014-5-5 17:30
看 是这样的
[{"PAPERTYPE":"5","PASSPORTID":"1","PAPCODE":"发大概多少","EXECUTIVEID":"6796","rownum ...

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




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