天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
12
返回列表 发新帖
楼主: jariy

怎么获取select集合的值

[复制链接]
 楼主| jariy 发表于 2011-5-23 17:19:33 | 显示全部楼层
<select name='self'></select>
<select name='self'></select>
<select name='self'></select>
<select name='self'></select>
<select name='self'></select>
<select name='self'></select>
 楼主| jariy 发表于 2011-5-23 17:22:36 | 显示全部楼层
<select name='self'></select>
<select name='self'></select>
<select name='self'></select>
<select name='self'></select>
<select name='self'></select>
<select name='self'></select>
<select name='self'></select>
<select name='self'></select>

假如我有上面这些name="self"的下拉框,我现在想获得这些下拉框的当前值,我要怎么获取?
如果我将一些js获取的下拉框的值写成的脚本,我在保存按钮里要怎么调用?

  1. function setAllItemsValue(itemNames,toNames){       
  2.         var items="";
  3.         var tt='script';
  4.         var temp='';
  5.         items+='<'+tt+'>';
  6.         items+='function getItemsValueHid(itemNames,toName){';
  7.         items+='        var temp="";';
  8.         items+='        var item=document.getElementsByName(itemNames);';
  9.         items+='        if(item && item.length>0){';
  10.         items+='                var tcount=item.length;';
  11.         items+='                for(var j=0;j<tcount;j++){';
  12.         items+='                        temp+=item[j].value+"||";';
  13.         items+='                }';
  14.         items+='                if(""!=temp){';
  15.         items+='                        temp=temp.substring(0,temp.length-2);';
  16.         items+='                }';
  17.         items+='                var tempsub=document.getElementsByName(toName);';
  18.         items+='                if(tempsub && tempsub[0]){';
  19.         items+='                        tempsub[0].value=temp;';
  20.         items+='                }';
  21.         items+='        }';
  22.         items+='}';

  23.         if(itemNames.constructor==Array){
  24.                 var count=itemNames.length;
  25.                 for(var i=0;i<count;i++){
  26.                         temp+='getItemsValueHid("'+itemNames[i]+'","'+toNames[i]+'");';
  27.                 }
  28.         }else{
  29.                 temp+='getItemsValueHid("'+itemNames+'","'+toNames+'");';
  30.         }

  31.         items+=temp;
  32.         items+='</'+tt+'>';
  33.         $PRINTER.println("=============true :"+items);
  34.         return items;
  35. }
复制代码
上面是函数库里的方法,我现在要执行返回的字符串,在保存按钮里应该运行这个方法的执行结果?
shary 发表于 2011-5-23 17:32:05 | 显示全部楼层
你好用getParameterAsArray("self")就可以获取你那堆下拉框的值。
遍历的脚本就是类似下面这样:

var datas =getParameterAsArray("self");
for(int i=0;i<datas.length;i++){
    var value=datas[i];
}

您先看下。如果遇到问题我们在沟通。刚刚开会去了。现在才回复。不好意思。
 楼主| jariy 发表于 2011-5-23 18:31:11 | 显示全部楼层

  1. function setAllItemsValue(itemNames,toNames){       
  2.         var doc = getCurrentDocument();
  3.         $PRINTER.println("=============doc  :"+doc);
  4.         var temp="";
  5.         if(itemNames.constructor==Array){
  6.                 var count=itemNames.length;
  7.                 for(var i=0;i<count;i++){
  8.                         temp="";
  9.                         var items=getParameterAsArray(itemNames[i]);
  10.                         if(items!=null && items.length>0){
  11.                                 for(var j=0;j<items.length;j++){                                       
  12.                                         temp+=items[i]+"||";
  13.                                 }                               
  14.                         }
  15.                         $PRINTER.println("=============temp :"+temp);
  16.                         var tub=doc.findItem(toNames[i]);
  17.                         var tub2=getItemValueAsString(toNames[i]);
  18.                         $PRINTER.println("=============getItemValueAsString :"+tub2);
  19.                         $PRINTER.println("=============toNames :"+toNames[i]);
  20.                         $PRINTER.println("=============tub :"+tub);
  21.                         //doc.findItem(toNames[i]).setValue(temp);
  22.                         tub.setValue(temp);
  23.                 }
  24.         }else{
  25.                 var items=getParameterAsArray(itemNames);
  26.                 if(items!=null && items.length>0){
  27.                         for(var j=0;j<items.length;j++){                                       
  28.                                 temp+=items[i]+"||";
  29.                         }                               
  30.                 }
  31.                 doc.findItem(toNames).setValue(temp);
  32.         }
  33. }
复制代码
这是下面的异常 搞不明白啥意思

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为天翎用户

x
shary 发表于 2011-5-24 14:17:17 | 显示全部楼层
您好,我看您的脚本很多地方又打印的语句。你看下后台哪些打印语句出来了好定位到底是那句脚本有问题。

本版积分规则

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

GMT+8, 2026-8-12 12:26

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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