详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp27

说说 DWRUtil

比如我们从服务器端获得了一个citylist的数据,要把这些数据放到id为city的一个下拉列表中,它有这么两个属性id ,name.我们要用id作为下拉列表的value,name作为下拉列表的text,那么需要这么写

      DWRUtil.removeAllOptions("city");

      DWRUtil.addOptions('city',citylist,'id','name');

注意我们每次使用addOptions之前,需要先使用removeAllOptions来将下拉列表清空,否则下拉列表中的内容会一直累加.

另外需要注意的是javascript中的字符串最好用单引号而不要用双引号,否则可能又有一些莫名其妙的问题.还有就是引号要成对出现,不要一个单的一个双的.

DWRUtil.addOptions() 方法详解2008-07-18 19:34创建列表

DWR通常需要填充一个列表框,主要是addOptions和removeAllOptions方法。如果当你更新时需要维护列表,通常需要如下代码:

Var sel = DWRUtil.getValue(id);

DWRUtil.removeAllOptions(id);

DWRUtil.addOptions(id, ...);

DWRUtil.setValue(id, sel);

DWRUtil.addOptions(selectid,array)

数组的每一个元素的字符串表示值和文本,值和文本属性是一样的。

DWRUtil.addOptions( "demo1", ['Africa', 'America', 'Asia', 'Australasia', 'Europe' ])

DWRUtil.addOptions(selectid, data, prop)

数组的每一个元素是一个对象,prop表示值和文本对应的属性名称,这里值和文本属性是一样的。

DWRUtil.addOptions( "demo1",[  { name:'Africa', population:'800m' },  { name:'America', population:'900m' },  { name:'Asia', population:'3000m' },  { name:'Australasia', population:'31m' },  { name:'Europe', population:'700m' }],"name")

DWRUtil.addOptions(selectid, array, valueprop, textprop)

数组的每一个元素是一个对象,其valueprop和textprop属性表示值和文本对应的属性名称。

DWRUtil.addOptions( "demo1",[  { name:'Africa', id:'AF' },  { name:'America', id:'AM' },  { name:'Asia', id:'AS' },  { name:'Australasia', id:'AU' },  { name:'Europe', id:'EU' }],"id","name")

DWRUtil.addOptions(selectid, map, reverse)

MAP的每一个属性键表示属性值,属性值表示文本,如果reverse属性为true,那么属性键表示文本,属性值表示值。

DWRUtil.addOptions( "demo1",{  AF:'Africa',  AM:'America',  AS:'Asia',  AU:'Australasia',  EU:'Europe'})

DWRUtil.addOptions(selectid, map, valueprop, textprop)

Map中的一个对象表示一个入口,其valueprop和textprop属性表示值和文本对应的属性名称。

DWRUtil.addOptions(ulid, array)

第一个参数表示一个ul或者ol元素的ID,每一个数组元素表示一个选项,其字符串表示会作为一个li元素的值

DWR 处理各种form表单Select/option,table2008-07-18 18:51DWR 处理各种form表单Select/option,table

util.js包含一些有用的函数function,用于在客户端页面调用.

主要功能如下:

代码

1、$() 获得页面参数值

2、addOptions and removeAllOptions 初始化下拉框

3、addRows and removeAllRows 填充表格

4、getText 取得text属性值

5、getValue 取得form表单值

6、getValues 取得form多个值

7、onReturn

8、selectRange

9、setValue

10、setValues

11、toDescriptiveString

12、useLoadingMessage

13、Submission box

代码

1、$()函数

IE5.0 不支持

$ = document.getElementById

取得form表单值

var name = $("name");

代码

a、如果你想在更新select 时,想保存原来的数据,即在原来的select中添加新的option:

var sel = DWRUtil.getValue(id);

DWRUtil.removeAllOptions(id);

DWRUtil.addOptions(id,...);

DWRUtil.setValue(id,sel);

demo:比如你想添加一个option:“--请选择--”

DWRUtil.addOptions(id,["--请选择--"]);

DWRUtil.addOptions()有5中方式:

代码

@ Simple Array Example: 简单数组

例如:

Array array = new Array[ 'Africa', 'America', 'Asia', 'Australasia', 'Europe' ];

DWRUtil.addOptions("demo1",array);

代码

@ Simple Object Array Example 简单数组,元素为beans

这种情况下,你需要指定要显示 beans 的 property 以及 对应的 bean 值

例如:

public class Person {

private String name;

private Integer id;

pirvate String address;

public void set(){……}

public String get(){……}

}

DWRUtil.addOptions("demo2",array,'id','name');

其中id指向及bean的id属性,在optiong中对应value,name指向bean的name属性,对应下拉框中显示的哪个值.

代码

@ Advanced Object Array Example 基本同上

DWRUtil.addOptions( "demo3",

[{ name:'Africa', id:'AF' },

{ name:'America', id:'AM' },

{ name:'Asia', id:'AS' },

{ name:'Australasia', id:'AU' },

{ name:'Europe', id:'EU' }

],'id','name');

代码

@ Map Example 用制定的map来填充 options:

如果 server 返回 Map,呢么这样处理即可:

DWRUtil.addOptions( "demo3",map);

其中 value 对应 map keys,text 对应 map values;

代码

@ <ul> and <ol> list editing

DWRUtil.addOptions() 函数不但可以填出select,开可以填出<ul>和<ol>这样的heml元素

3、addRows and removeAllRows 填充表格

DWR 提供2个函数来操作 table;

----------------------------

DWRUtil.addRows(); 添加行

----------------------------

DWRUtil.removeAllRows(id); 删除指定id的table

----------------------------

下面着重看一下 addRows() 函数:

DWRUtil.addRows(id, array, cellfuncs, [options]);

其中id 对应 table 的 id(更适合tbodye,推荐使用 tbodye)

array 是server端服务器的返回值,比如list,map等等

cellfuncs 及用返回值来天春表格

[options] 用来设置表格样式,它有2个内部函数来设置单元格样式(rowCreator、cellCreator)。

比如: server端返回list,而list中存放的是下面这个 bean:

代码

public class Person {

private String name;

private Integer id;

pirvate String address;

public void set(){……}

public String get(){……}

}

下面用 DWRUtil.addRows();

代码

function userList(data){

//var delButton = "<input type='button'/>";

//var editButton = "<input type='button'/>";

var cellfuncs = [

function(data){return data.id;},

function(data){return data.userName;},

function(data){return data.userTrueName;},

function(data){return data.birthday;},

function(data){

var idd = data.id;

var delButton = document.createElement("<INPUT TYPE='button' onclick='delPerson("+ idd +")'>");

delButton.setAttribute("id","delete");

delButton.setAttribute("value","delete");

return delButton;

},

function(data){

var idd = data.id;

var editButton = document.createElement("<INPUT TYPE='button' onclick='editPerson("+ idd +")'>");

editButton.setAttribute("name","edit");

editButton.setAttribute("value","edit");

return editButton;

}

];

DWRUtil.removeAllRows('tabId');

DWRUtil.addRows('tabId', data,cellfuncs,{

rowCreator:function(options) {

var row = document.createElement("tr");

var index = options.rowIndex * 50;

row.setAttribute("id",options.rowData.id);

row.style.collapse = "separate";

row.style.color = "rgb(" + index + ",0,0)";

return row;

},

cellCreator:function(options) {

var td = document.createElement("td");

var index = 255 - (options.rowIndex * 50);

//td.style.backgroundColor = "rgb(" + index + ",255,255)";

td.style.backgroundColor = "menu";

td.style.fontWeight = "bold";

td.style.align = "center";

return td;

}

});

document.getElementById("bt").style.display = "none";

}

4、getText 取得text属性值

DWRUtil.getText(id): 用来获得 option 中的文本

比如:

代码

<select id="select">

<option value="1"> 苹果 </option>

<option value="2" select> 香蕉 </option>

<option value="3"> 鸭梨 </option>

</select>

调用 DWRUtil.getText("select"); 将返回 "香蕉" 字段;

DWRUtil.getText(id);仅仅是用来获得 select 文本值,其他不适用。

5、DWRUtil.getValue(id): 用来获得 form 表单值

有如下几种情况:

代码

Text area (id="textarea"): DWRUtil.getValue("textarea")将返回 Text area的值;

Selection list (id="select"): DWRUtil.getValue("select") 将返回 Selection list 的值;

Text input (id="text"): DWRUtil.getValue("text") 将返回 Text input 的值;

Password input (id="password"): DWRUtil.getValue("text") 将返回 Password input 的值;

Form button (id="formbutton"): DWRUtil.getValue("formbutton") 将返回 Form button 的值;

Fancy button (id="button"): DWRUtil.getValue("formbutton") 将返回 Fancy button 的值;

6、getValues 取得form多个值

批量获得页面表单的值,组合成数组的形式,返回 name/value;

例如: form():

代码

<input type="textarea" id="textarea" value="1111"/>

<input type="text" id="text" value="2222"/>

<input type="password" id= "password" value="3333"/>

<select id="select">

<option value="1"> 苹果 </option>

<option value="4444" select> 香蕉 </option>

<option value="3"> 鸭梨 </option>

</select>

<input type="button" id="button" value="5555"/>

那么: DWRUtil.getValues({textarea:null,select:null,text:null,password:null,button:null})

将返回^^^^^^^^^^^^^^^^{textarea:1111,select:4444,text:2222,password:3333,button:5555}

7、DWRUtil.onReturn 防止当在文本框中输入后,直接按回车就提交表单。

<input type="text" onkeypress="DWRUtil.onReturn(event, submitFunction)"/>

<input type="button" onclick="submitFunction()"/>

8、DWRUtil.selectRange(ele, start, end);

在一个input box里选一个范围

代码

DWRUtil.selectRange("sel-test", $("start").value, $("end").value);

比如:<input type="text" id="sel-test" value="012345678901234567890">

DWRUtil.selectRange("sel-test", 2, 15);

9、DWRUtil.setValue(id,value);

为指定的id元素,设置一个新值;

10、DWRUtil.setValues({

name: "fzfx88",

password: "1234567890"

}

); 同上,批量更新表单值.

/***********************************************************************/

11、DWRUtil.toDescriptiveString()

带debug信息的toString,第一个为将要debug的对象,第二个参数为处理等级。等级如下:

0: Single line of debug 单行调试

1: Multi-line debug that does not dig into child objects 不分析子元素的多行调试

2: Multi-line debug that digs into the 2nd layer of child objects 最多分析到第二层子元素的多行调试

<input type="text" id="text">

DWRUtil。toDescriptiveString("text",0);

/******************************************************************************/

12、DWRUtil.useLoadingMessage();

当发出ajax请求后,页面显示的提示等待信息;

代码

function searchUser(){

var loadinfo = "loading....."

try{

regUser.queryAllUser(userList);

DWRUtil.useLoadingMessage(loadinfo);

}catch(e){

}

}

说说 DWRUtil的更多相关文章

  1. DWRUtil is not defined

    错误:DWRUtil is not defined; 解决方法: 先检查页面中是否正确引入uitl.js <script type="text/javascript" src ...

  2. dwr框架中DWRUtil的方法

    dwr框架中DWRUtil的方法 2008-10-14 17:57:23|  分类: JAVA |  标签: |举报 |字号大中小 订阅     7. util.js 功能 util.js包含了一些工 ...

  3. DWRUtil.addOptions

    DWRUtil.addOptions有5种模式 数组: DWRUtil.addOptions(selectid, array) 会创建一堆option,每个option的文字和值都是数组元素中的值. ...

  4. DWR实现后台推送消息到web页面

    DWR简介 DWR(Direct Web Remoting)可用于实现javascript直接调用java函数和后台直接调用页面javascript代码,后者可用作服务端推送消息到Web前端. (服务 ...

  5. DWR实现扫一扫登录功能

    前言 <DWR实现后台推送消息到Web页面>一文中已对DWR作了简介,并列出了集成步骤.本文中再一次使用到DWR,用以实现扫一扫登录功能. 业务场景 web端首页点击"登陆&qu ...

  6. 使用dwr时动态生成table的一个小技巧

    这篇随笔是我在07年写的,因为当时用了自己建设的blog,后来停止使用了,今天看到备份数据库还在,恢复出来放到这里.留着记录用. 我在使用DWR时,试了很多次都无法在动态生成的table中的一个或多个 ...

  7. IOS开发-跨域访问DWR方法

    用Phonegap做手机客户端,服务器用spring+DWR,需要在手机端访问服务器的方法,需要做以下配置,可以参见http://www.iteye.com/topic/337460: 服务器DWR配 ...

  8. ssh+dwr 的使用源码案例

    加入dwr.jar包 ======jsp=============== <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitiona ...

  9. 一个机器上运行两个tomcat

    一.   在一台计算机上配置2个tomcat是可以的,关键是tomcat里的server.xml文件中三个端口必须不同.需要修改conf/server.xml使两个tomcat占用的端口不相同,在缺省 ...

随机推荐

  1. Qt之对话框消失动画

    一.效果展示 最近做了一个提示框消失的功能,觉着挺有意思,以前一直以为Qt子窗口不能做淡出效果,其实Qt的淡出功能已经帮我们封装好了,我们仅仅只需要几行代码就可以做出酷炫的窗口关闭效果,写此篇文章的时 ...

  2. 如何将R包安装到自定义路径

    参考  设置环境变量R_LIBS将R包安装到自定义路径   实际上是可以解决问题的, #环境变量完成以后,启动(重启)R,运行 .libPaths() 加载R包时,发现路径仍然未变成自定义的. 那么参 ...

  3. 双向循环链表(C语言描述)(一)

    双向循环链表是链表的一种,它的每个节点也包含数据域和指针域.为了方便程序维护,可以单独为数据域定义一种数据类型,这里以整型为例: typedef int LinkedListData; 双向循环链表( ...

  4. Python爬虫从入门到放弃(二十)之 Scrapy分布式原理

    关于Scrapy工作流程回顾 Scrapy单机架构 上图的架构其实就是一种单机架构,只在本机维护一个爬取队列,Scheduler进行调度,而要实现多态服务器共同爬取数据关键就是共享爬取队列. 分布式架 ...

  5. 页面发送请求到后台报错“Empty or invalid anti forgery header token.”问题解决

    在页面向后台发送请求时,报如上图的错误的解决办法: 在WebModule.cs类中的PreInitialize方法中加 Configuration.Modules.AbpWeb().AntiForge ...

  6. Python打包EXE神器 pyinstaller

    最近由于项目需要,以前的python文件需要编辑为EXE供前端客户使用. 由于最早接触的是distutils,所以一开始准备使用distutils和py2exe搭配来进行python的exe化,也就是 ...

  7. Hadoop之HelloWorld

    Hadoop开始: 1. 下载最新的发行版,解压到你喜欢的路径. 2. 配置,Hadoop的配置文件位于-/hadoop/conf/ 目录下.这里我先只配置了core-site.xml文件. < ...

  8. Python 继承和组合 接口

    #解决代码重用的问题,减少代码冗余 #继承是一种什么'是'什么的关系 class People: def __init__(self, name, age): # print('People.__in ...

  9. mac制作icns图标

    Key steps:1) Prepare a 1024x1024 png or jpeg file;2) Download fasticns utility to convert the icon t ...

  10. 360春秋杯CTF比赛WRIteUP

    题目:where is my cat? 地址:http://106.75.34.78 访问网页出现证书错误的问题,查看证书如下: 抓包发现: Accept-Encoding: gzip, deflat ...