找回密码
 注册成为天翎用户
查看: 2508|回复: 11

下拉列表

[复制链接]
广州世锦 发表于 2012-11-12 13:24:20 | 显示全部楼层 |阅读模式
本帖最后由 spiral 于 2012-11-12 16:34 编辑

页面上下拉列表的值是从数据库动态获取的,在查询视图中点击该记录,在模板表单显示时,该值并未显示为选中状态,我想动态得到该值,在下拉列表动态显示的过程中判断,如果两个值相等,则该下拉列表的值显示了选中状态,可从输出结果看,明明是相等的,为什么总执行else部分.
代码function createUserOptionsByDSAndSql(datasource,SelectedVal,sql,condition){
var opts = createOptions();
opts.add("请选择","");
//println("-------------1-----");
//如果没有级联条件,正常生成下拉列表
if(condition==null || condition==""){
var datas  =queryByDSName(datasource,sql);
  if(datas!=null && datas.size()>0){
      // var doc =getCurrentDocument();
      //      var  textval=doc.getItemValue("MyApps账号");
     println("seletedval----------"+SelectedVal);
       for(var iter = datas.iterator();iter.hasNext();){
        var doc = iter.next();
                if(doc!=null){
                  var Security=new Packages.cn.myapps.util.Security();
                   var pwd=Security.decryptPassword(doc.get("loginpwd"));
                   var val=doc.get("loginno")+";"+pwd;
                   var disval=doc.get("loginno");
println("disval----------"+disval);

                    if(disval==SelectedVal){
                     println("true");
                    opts.add(disval,val,true);
                  }else{
                   opts.add(disval,val);
println("false");

                 }
        }
}
  }
  
//按级联条件生成下拉列表
}
 楼主| 广州世锦 发表于 2012-11-12 13:25:19 | 显示全部楼层
结果输出JsUtil:disval111111111testuser
JsUtil:seletedval----------testuser
JsUtil:disval----------testuser
JsUtil:false
JsUtil:disval----------testboss
JsUtil:false
JsUtil:disval----------zhangsan
JsUtil:false
JsUtil:disval----------lisi2
JsUtil:false
JsUtil:disval----------wenyuan
JsUtil:false
JsUtil:disval----------wanglei
JsUtil:false
JsUtil:disval----------chenli
JsUtil:false
JsUtil:disval----------zhuguan
JsUtil:false
JsUtil:disval----------employee
JsUtil:false
JsUtil:disval----------xszhuguan
JsUtil:false
JsUtil:disval----------xsyuangong
JsUtil:false
JsUtil:disval----------xzzhuguan
JsUtil:false
JsUtil:disval----------xzwenyuan
JsUtil:false
JsUtil:disval----------cwzhuguan
JsUtil:false
JsUtil:disval----------cwyuangong
JsUtil:false
JsUtil:disval----------yfzhuguan
JsUtil:false
JsUtil:disval----------yfyuangong
JsUtil:false
JsUtil:disval----------kslingdao
JsUtil:false
JsUtil:disval----------jlingdao
JsUtil:false
JsUtil:disval----------ngaoren
JsUtil:false
JsUtil:disval----------swdjy
JsUtil:false
JsUtil:disval----------fwdjy
JsUtil:false
JsUtil:disval----------hysgly
JsUtil:false
JsUtil:disval----------zongjian
JsUtil:false
JsUtil:disval----------bmzhuanyuan
JsUtil:false
JsUtil:disval----------rlzhuanyuan
回复

使用道具 举报

 楼主| 广州世锦 发表于 2012-11-12 13:26:26 | 显示全部楼层
testuser与testuser应该是相等的
为什么会输出false
回复

使用道具 举报

bess 发表于 2012-11-12 14:11:14 | 显示全部楼层
您好,麻烦您将这两个字段disval,SelectedVal的数据类型分别都转换成string类型之后,在看看是否还有问题.
回复

使用道具 举报

 楼主| 广州世锦 发表于 2012-11-12 15:19:36 | 显示全部楼层
用哪个函数转
回复

使用道具 举报

bess 发表于 2012-11-12 15:20:53 | 显示全部楼层
您用var  rnt = ??.toString() ;即可.这里的??就是写您需要转换类型的字段.
回复

使用道具 举报

 楼主| 广州世锦 发表于 2012-11-12 15:21:25 | 显示全部楼层
关键是怎么转,能否举个例子
回复

使用道具 举报

bess 发表于 2012-11-12 15:23:22 | 显示全部楼层
var  value = getItemValue("test");test 是你获取的字段的值,这个字段不是string类型的
var  rnt = value.toString();   这样就可以讲value的值转换成string型了.
回复

使用道具 举报

 楼主| 广州世锦 发表于 2012-11-12 15:30:14 | 显示全部楼层
还是不行,跟原来一样,救命了
回复

使用道具 举报

spiral 发表于 2012-11-12 15:48:57 | 显示全部楼层
试试在toString()之后再用下面的代码试试
if(V1.equals(V2))
回复

使用道具 举报

本版积分规则

手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-14 12:40

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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