分享

JS的eval()函数

 thy 2009-07-09
在JSP中,做了个左右框条目转换的功能,由于左边和右边分别有几个框,而且是动态生成的框的个数,所以设计到框的name问题,即必须为动态的,我的做法
Java代码 复制代码
  1. function doAdd(rid){   
  2.     var str = getValue(rid);     
  3.     var totals = str.split(";");           
  4.     var numbr = totals.length;   
  5.     var selectedRyX = "splcForm.selectedRy" + rid;   
  6.     for(var i=0; i<numbr; i++){   
  7.        var ids = totals[i].split(",");   
  8.        判断是否已存在   
  9.         if(isHave(rid,ids[0])) {   
  10.     eval(selectedRyX).options[eval(selectedRyX).length] = new Option(ids[1] , ids[0]);   
  11.     }   
  12.      }        
  13. }  

JSP中这样写的
Java代码 复制代码
  1. <select class="2" name="selectRy<s:property  value="rid"/>" ...>   
  2. ...   
  3. </select>  

其中var selectedRyX = "splcForm.selectedRy" + rid;的rid是我传过来的值,splcForm是form名,这样就拼接成了动态的字符串,如:splcForm.selectedRy1、splcForm.selectedRy2、splcForm.selectedRy3
然后用eval(selectedRyX)方法,让字符串去执行splcForm.selectedRy1等等
关于eval()函数用法,以下转自其他地方
eval 方法
检查 JScript 代码并执行.

eval(codeString)

必选项 codestring 参数是包含有效 JScript 代码的字符串值。这个字符串将由 JScript 分析器进行分析和执行。

说明
eval 函数允许 JScript 源代码的动态执行。例如,下面的代码创建了一个包含 Date 对象的新变量 mydate :

eval("var mydate = new Date();");
传递给 eval 方法的代码执行时的上下文和调用 eval 方法的一样.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多