详见: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. java web 中有效解决中文乱码问题-pageEncoding与charset区别, response和request的setCharacterEncoding 区别

    这里先写几个大家容易搞混的编码设置代码: 在jsp代码中的头部往往有这两行代码 pageEncoding是jsp文件本身的编码contentType的charset是指服务器发送给客户端时的内容编码J ...

  2. poj 3761 bubble sort (排列组合)

    #include<cstdio> #include<cstring> #define ll long long #define mod 20100713 ; ll a[maxn ...

  3. [补档]暑假集训D5总结

    %dalao 今天又有dalao来讲课,讲的是网络流 网络流--从入门到放弃:7-29dalao讲课笔记--https://hzoi-mafia.github.io/2017/07/29/27/   ...

  4. Hibernate批量操作(一)

    在项目的开发过程之中,我们常会遇到数据的批量处理问题.在持久层采用Hibernate框架时,在进行批量操作时,需要考虑Hibernate实现机制带来的一些问题. 我们知道在每个Hibernate Se ...

  5. Hibernate 中Criteria Query查询详解【转】

    当查询数据时,人们往往需要设置查询条件.在SQL或HQL语句中,查询条件常常放在where子句中.此外,Hibernate还支持Criteria查询(Criteria Query),这种查询方式把查询 ...

  6. Unicode 与 Unicode Transformation Format(UTF,UTF-8 / UTF-16 / UTF-32)

    ASCII(American Standard Code for Information Interchange):早期它使用7 bits来表示一个字符,总共表示27 = 128个字符:后来扩展到8 ...

  7. NYOJ--257--郁闷的C小加(一)(中缀表达式变后缀表达式 )

    郁闷的C小加(一) 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 我们熟悉的表达式如a+b.a+b*(c+d)等都属于中缀表达式.中缀表达式就是(对于双目运算符来说 ...

  8. 命令控制台与java环境配置

    1. 命令控制台 1) Linux / Unix 命令格式  command [-选项...] [参数...]  如:  ls -a ~      mkdir .demo  //创建隐藏目录      ...

  9. DataGuard开启延时应用的测试

    DataGuard开启延时应用的测试 实验环境:RHEL 6.5 + Oracle 11.2.0.4 GI.DB + Primary RAC(2 nodes)+ Standby RAC(2 nodes ...

  10. HDU 1159 Common Subsequence:LCS(最长公共子序列)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1159 题意: 求最长公共子序列. 题解: (LCS模板题) 表示状态: dp[i][j] = max ...