Enjoy yourself,and don't care about others' thinking!
----TiGERTiAN
BlogJava
首页
新随笔
联系
聚合
管理
随笔-348 评论-598 文章-0 trackbacks-0
JSF中DataTable和SelectOneRadio搭配,每条记录每一行一个radio进行单选的解决办法
这个方法不是太完美,但可以解决JSF的DataTable和SelectOneRadio搭配问题。每条记录每一行一个radio进行单选,只会选中一条。
首先,在页面中datatable的column中加入
<
h:selectOneRadio
id
="xx"
value
="#{entrance.test}"
>
<
f:selectItem
itemValue
="#{obj.corpOutInfo.coiId}"
itemLabel
="#{obj.corpOutInfo.corpName}"
/>
</
h:selectOneRadio
>
然后加入一段jquery的代码用于在用户切换选择的时候,先将所有radio的checked状态都置为false。
<
script
type
="text/javascript"
>
jQuery.noConflict();
//
与JSF搭配需要这句话,不然会有冲突
jQuery(document).ready(
function
()
{
jQuery(
"
:radio
"
).click(
function
()
{
update(
this
);
}
);
}
);
</
script
>
<
script
type
="text/javascript"
>
function
update(currentRadio)
{
var
parentTables
=
jQuery(currentRadio).parents(
"
table
"
);
var
parentTable
=
parentTables[
0
];
var
childDivs
=
jQuery(parentTable).next(
"
div
"
);
var
childDiv
=
childDivs[
0
];
jQuery(childDiv).contents().find(
"
:radio
"
).each(
function
()
{
this
.checked
=
false
;
}
);
currentRadio.checked
=
true
;
}
</
script
>
后台绑定一个属性,但这个属性的set方法会被调用多次,但只有一次是有值的,所以用户选择了哪一行也好获得。
private
String test;
public
String getTest()
{
return
test;
}
public
void
setTest(String test)
{
System.out.println(
"
=========================
"
+
test);
}
问题算是解决了,实现很简单,但并不太完美。因为后台的那个set方法会触发很多次,次数跟当前的radio数量一致,虽然不怎么影响性能,但用着总觉得不爽,后面再完善下。
---------------------------------------------------------
专注移动开发
Android, Windows Mobile, iPhone, J2ME, BlackBerry, Symbian
posted on 2009-01-11 16:36
TiGERTiAN
阅读(5442)
评论(5)
编辑
收藏
所属分类:
Java
、
JSF
评论:
#
re: JSF中DataTable和SelectOneRadio搭配,每条记录每一行一个radio进行单选的解决办法 2009-01-12 12:39 |
千里冰封
直接用h:outputText画出HTML语句,这样岂不是更好,然后在后台从parameter里面去取这个单选的参数,应该也是一种办法,呵呵
回复
更多评论
#
re: JSF中DataTable和SelectOneRadio搭配,每条记录每一行一个radio进行单选的解决办法[未登录] 2009-01-12 21:38 |
tigertian
@千里冰封
有个问题,就是你这个方法只能在jsf 1.2中使用,貌似1.1中没有escape属性,所以默认escape为true,在output里面画不出来,会被Html Encode掉,如果单独使用<input type="radio">控件,会发现jsf 1.1中的datatable无法把这个纯html控件包含进来。而我目前碰到的应用环境正是jsf 1.1,所以我也想找到一个更好的办法,大家讨论讨论哈。
回复
更多评论
#
re: JSF中DataTable和SelectOneRadio搭配,每条记录每一行一个radio进行单选的解决办法 2009-01-13 08:48 |
TiGERTiAN
@千里冰封
今天测试了一下,1.1版本的outputText也有escape属性,但我忘记是哪个控件跟1.2不一样没有escape属性的,有了之后,就可以画出来了。
回复
更多评论
#
re: JSF中DataTable和SelectOneRadio搭配,每条记录每一行一个radio进行单选的解决办法 2009-12-27 21:28 |
frankie
http://wiki.apache.org/myfaces/Display_Radio_Buttons_In_Columns
回复
更多评论
#
re: JSF中DataTable和SelectOneRadio搭配,每条记录每一行一个radio进行单选的解决办法
2009-12-27 22:17 |
TiGERTiAN
@frankie
谢谢哈,不过我用的是sun的实现。
回复
更多评论
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
相关文章:
OSGi and Hadoop and Node.js
javacc工具小记
MyEclipse 6.5新序列号,到2013年
OtaNotifier.java
Java中无符号整数
C#的BinaryWriter和Java的DataInputStream之间的数据相互转换
在Mac下面下载Android源代码
[转]Java通过XML Schema校验XML
[转]JAVA上加密算法的实现用例
LG GW880(Ophone)开启ADB调试模式
专注移动开发--Windows Mobile, Android, iPhone, J2ME, BlackBerry, Symbian, Windows Phone
慢慢混,慢慢学
<
2009年12月
>
日
一
二
三
四
五
六
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(40)
给我留言
查看公开留言
查看私人留言
随笔分类
(402)
Ajax(4)
Android(58)
BlackBerry(8)
C/C++(3)
Design Patterns(6)
Discuz!NT(1)
DotNet(26)
Feeling(61)
Flex(4)
Grails(2)
Hibernate(1)
iPhone(5)
J2ME(11)
Java(99)
JSF(26)
Linux(18)
MapXtreme(9)
Objective c(1)
Oracle(6)
Other technique(20)
Perl/Python(1)
Roller (10)
Symbian
VB/ASP(7)
WebWork(3)
Windows Mobile(10)
WindowsPhone(2)
随笔档案
(306)
2017年5月 (1)
2016年8月 (1)
2015年11月 (1)
2015年2月 (1)
2015年1月 (1)
2013年12月 (1)
2013年5月 (1)
2013年4月 (1)
2012年9月 (1)
2012年7月 (1)
2012年6月 (1)
2012年5月 (2)
2012年4月 (1)
2012年2月 (2)
2012年1月 (1)
2011年11月 (2)
2011年10月 (1)
2011年9月 (1)
2011年8月 (2)
2011年7月 (3)
2011年6月 (2)
2011年3月 (3)
2011年2月 (4)
2011年1月 (15)
2010年12月 (1)
2010年11月 (2)
2010年10月 (6)
2010年9月 (12)
2010年8月 (3)
2010年7月 (2)
2010年6月 (6)
2010年5月 (14)
2010年4月 (7)
2010年3月 (16)
2010年2月 (10)
2010年1月 (14)
2009年12月 (12)
2009年11月 (5)
2009年10月 (3)
2009年9月 (2)
2009年8月 (3)
2009年6月 (1)
2009年4月 (2)
2009年3月 (2)
2009年1月 (3)
2008年12月 (3)
2008年11月 (20)
2008年10月 (17)
2008年9月 (3)
2008年4月 (1)
2008年3月 (2)
2008年2月 (8)
2008年1月 (1)
2007年11月 (2)
2007年10月 (13)
2007年9月 (3)
2007年7月 (4)
2007年6月 (2)
2007年5月 (12)
2007年4月 (15)
2007年3月 (6)
2007年2月 (2)
2007年1月 (1)
2006年7月 (2)
2006年4月 (1)
2006年1月 (1)
2005年11月 (1)
2005年8月 (1)
2005年7月 (9)
相册
我正在读的书
我的好友们
JavaBy
有心就有翼 有梦就会飞--MC
搜索
积分与排名
积分 - 807884
排名 - 50
最新评论
1. re: Hibernate三种状态的区分,以及save,update,saveOrUpdate,merge等的使用[未登录]
哈哈~
--a
2. re: onInterceptTouchEvent和onTouchEvent调用时序
@米其林的微笑
在你的子view重写ontouchevent方法就行
--kxt
3. re: Android弹出拨号界面和拨打电话实现
这找不到call是怎么回事?现在有别的方法实现这个功能吗?
--firetomato
4. re: Android弹出拨号界面和拨打电话实现
请我dial和call方法有什么区别么?
--jaime
5. re: Android文字跑马灯控件(文本自动滚动控件)
如何让滚动的速度快一点啊??
--学鸟
阅读排行榜
1. onInterceptTouchEvent和onTouchEvent调用时序(38689)
2. Android的Intent和IntentFilter应用说明一例(37696)
3. Hibernate三种状态的区分,以及save,update,saveOrUpdate,merge等的使用(34315)
4. Android中短信拦截解决方案(31073)
5. Android中ContentProvider和ContentResolver使用入门(21419)
评论排行榜
1. 【JSF】Richfaces复选框树(Checkbox tree)的权限分配的解决方案(69)
2. JSF中动态生成HtmlMessage控件出错的解决办法(38)
3. hibernate中at org.hibernate.tuple.AbstractEntityTuplizer.createProxy(AbstractEntityTuplizer.java:372)异常的解决方法(27)
4. 这两天用Flex写了一个多媒体播放器(19)
5. Android文字跑马灯控件(文本自动滚动控件)(17)