Enjoy yourself,and don't care about others' thinking!
----TiGERTiAN
BlogJava
首頁
新隨筆
聯(lián)系
聚合
管理
隨筆-348 評論-598 文章-0 trackbacks-0
jQuery操作JSF中的Checkbox樹
下面的代碼是,當(dāng)選中父節(jié)點,則子節(jié)點全選;選中任意一個子節(jié)點,則選中父節(jié)點
jQuery.noConflict();
//
與JSF搭配需要這句話,不然會有沖突
jQuery(document).ready(
function
()
{
//
Add click event listener to each checkbox in the tree page
//
Note! Using this simple selector assumes that there are no other
//
checkboxes on the page, if there are other checkboxes then
//
selector should be changed
jQuery(
"
:checkbox
"
).click(
function
()
{
updateChildren(
this
);
updateParent(
this
);
}
);
}
);
</
script
>
<
script type
=
"
text/javascript
"
>
function
updateChildren(currentCheckBox)
{
//
Get state of current checkbox (true or false)
var
state
=
currentCheckBox.checked;
//
Get parent TABLE, where current checkbox is places
var
parentTables
=
jQuery(currentCheckBox).parents(
"
table
"
);
var
parentTable
=
parentTables[
0
];
//
Get DIV where child nodes with checkboxes are situated
//
See http://docs.jquery.com/Traversing/ to get better uderstanding of
//
parents() and next()
var
childDivs
=
jQuery(parentTable).next(
"
div
"
);
if
( childDivs.length
>
0
)
{
var
childDiv
=
childDivs[
0
];
//
Iterate over all child nodes checkboxes and set same state as the
//
current checkbox state
jQuery(childDiv).contents().find(
"
:checkbox
"
).each(
function
()
{
this
.checked
=
state;
}
);
}
}
//
更新父節(jié)點的方法,如果子節(jié)點全部選中則父節(jié)點選中,如果子節(jié)點中有一個選中,則父節(jié)點也選中
function
updateParent(currentCheckbox)
{
var
parentDivs
=
jQuery(currentCheckbox).parents(
"
div
"
);
var
parentDiv
=
parentDivs[
0
];
var
hasSelected
=
false
;
jQuery(parentDiv).contents().find(
"
:checkbox
"
).each(
function
()
{
if
(
this
.checked)
{
hasSelected
=
true
;
}
}
);
var
parentTables
=
jQuery(parentDiv).prev(
"
table
"
);
if
(parentTables.length
>
0
)
{
var
parentTable
=
parentTables[
0
];
var
parentCheckboxes
=
jQuery(parentTable).find(
"
:checkbox
"
);
var
parentCheckbox
=
parentCheckboxes[
0
];
parentCheckbox.checked
=
hasSelected ;
}
}
下面的代碼是,當(dāng)選中父節(jié)點,則子節(jié)點全選;選中所有子節(jié)點,則選中父節(jié)點
jQuery.noConflict();
//
與JSF搭配需要這句話,不然會有沖突
jQuery(document).ready(
function
()
{
//
Add click event listener to each checkbox in the tree page
//
Note! Using this simple selector assumes that there are no other
//
checkboxes on the page, if there are other checkboxes then
//
selector should be changed
jQuery(
"
:checkbox
"
).click(
function
()
{
updateChildren(
this
);
updateParent(
this
);
}
);
}
);
</
script
>
<
script type
=
"
text/javascript
"
>
function
updateChildren(currentCheckBox)
{
//
Get state of current checkbox (true or false)
var
state
=
currentCheckBox.checked;
//
Get parent TABLE, where current checkbox is places
var
parentTables
=
jQuery(currentCheckBox).parents(
"
table
"
);
var
parentTable
=
parentTables[
0
];
//
Get DIV where child nodes with checkboxes are situated
//
See http://docs.jquery.com/Traversing/ to get better uderstanding of
//
parents() and next()
var
childDivs
=
jQuery(parentTable).next(
"
div
"
);
if
( childDivs.length
>
0
)
{
var
childDiv
=
childDivs[
0
];
//
Iterate over all child nodes checkboxes and set same state as the
//
current checkbox state
jQuery(childDiv).contents().find(
"
:checkbox
"
).each(
function
()
{
this
.checked
=
state;
}
);
}
}
//
更新父節(jié)點的方法,如果子節(jié)點全部選中則父節(jié)點選中,如果子節(jié)點中有一個未選中,則父節(jié)點也未選中
function
updateParent(currentCheckbox)
{
var
parentDivs
=
jQuery(currentCheckbox).parents(
"
div
"
);
var
parentDiv
=
parentDivs[
0
];
var
hasSelected
=
true
;
jQuery(parentDiv).contents().find(
"
:checkbox
"
).each(
function
()
{
if
(
!
this
.checked)
{
hasSelected
=
false
;
}
}
);
var
parentTables
=
jQuery(parentDiv).prev(
"
table
"
);
if
(parentTables.length
>
0
)
{
var
parentTable
=
parentTables[
0
];
var
parentCheckboxes
=
jQuery(parentTable).find(
"
:checkbox
"
);
var
parentCheckbox
=
parentCheckboxes[
0
];
parentCheckbox.checked
=
hasSelected ;
}
}
---------------------------------------------------------
專注移動開發(fā)
Android, Windows Mobile, iPhone, J2ME, BlackBerry, Symbian
posted on 2009-12-27 22:52
TiGERTiAN
閱讀(2761)
評論(0)
編輯
收藏
所屬分類:
Java
、
JSF
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關(guān)文章:
OSGi and Hadoop and Node.js
javacc工具小記
MyEclipse 6.5新序列號,到2013年
OtaNotifier.java
Java中無符號整數(shù)
C#的BinaryWriter和Java的DataInputStream之間的數(shù)據(jù)相互轉(zhuǎn)換
在Mac下面下載Android源代碼
[轉(zhuǎn)]Java通過XML Schema校驗XML
[轉(zhuǎn)]JAVA上加密算法的實現(xiàn)用例
LG GW880(Ophone)開啟ADB調(diào)試模式
專注移動開發(fā)--Windows Mobile, Android, iPhone, J2ME, BlackBerry, Symbian, Windows Phone
慢慢混,慢慢學(xué)
<
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
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(43)
給我留言
查看公開留言
查看私人留言
隨筆分類
(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
搜索
積分與排名
積分 - 811139
排名 - 50
最新評論
1.?re: Hibernate三種狀態(tài)的區(qū)分,以及save,update,saveOrUpdate,merge等的使用[未登錄]
哈哈~
--a
2.?re: onInterceptTouchEvent和onTouchEvent調(diào)用時序
@米其林的微笑
在你的子view重寫ontouchevent方法就行
--kxt
3.?re: Android彈出撥號界面和撥打電話實現(xiàn)
這找不到call是怎么回事?現(xiàn)在有別的方法實現(xiàn)這個功能嗎?
--firetomato
4.?re: Android彈出撥號界面和撥打電話實現(xiàn)
請我dial和call方法有什么區(qū)別么?
--jaime
5.?re: Android文字跑馬燈控件(文本自動滾動控件)
如何讓滾動的速度快一點啊??
--學(xué)鳥
閱讀排行榜
1.?onInterceptTouchEvent和onTouchEvent調(diào)用時序(38705)
2.?Android的Intent和IntentFilter應(yīng)用說明一例(37704)
3.?Hibernate三種狀態(tài)的區(qū)分,以及save,update,saveOrUpdate,merge等的使用(34341)
4.?Android中短信攔截解決方案(31088)
5.?Android中ContentProvider和ContentResolver使用入門(21427)
評論排行榜
1.?【JSF】Richfaces復(fù)選框樹(Checkbox tree)的權(quán)限分配的解決方案(69)
2.?JSF中動態(tài)生成HtmlMessage控件出錯的解決辦法(38)
3.?hibernate中at org.hibernate.tuple.AbstractEntityTuplizer.createProxy(AbstractEntityTuplizer.java:372)異常的解決方法(27)
4.?這兩天用Flex寫了一個多媒體播放器(19)
5.?Android文字跑馬燈控件(文本自動滾動控件)(17)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 TiGERTiAN
主站蜘蛛池模板:
一级做a爱片特黄在线观看免费看
|
国产亚洲成人在线播放va
|
四虎在线成人免费网站
|
a级毛片毛片免费观看久潮
|
久久国产精品免费一区二区三区
|
日本高清免费中文在线看
|
国产产在线精品亚洲AAVV
|
国产偷国产偷亚洲高清在线
|
特级毛片全部免费播放
|
免费人成动漫在线播放r18
|
免费精品视频在线
|
一个人看的www在线免费视频
|
亚洲午夜无码久久久久
|
色久悠悠婷婷综合在线亚洲
|
亚洲视频免费在线播放
|
免费看h片的网站
|
永久免费av无码不卡在线观看
|
免费在线观看的网站
|
国产精品视_精品国产免费
|
国产在线不卡免费播放
|
亚洲国产黄在线观看
|
日本一区二区三区免费高清
|
毛片免费vip会员在线看
|
国产日产成人免费视频在线观看
|
免费大黄网站在线观看
|
亚洲中文字幕在线观看
|
亚洲国产精品无码久久久蜜芽
|
免费人成视频x8x8入口
|
中文字幕亚洲日韩无线码
|
亚洲成a人片在线观看无码
|
亚洲精品日韩中文字幕久久久
|
色偷偷亚洲女人天堂观看欧
|
精品久久久久亚洲
|
精品一区二区三区高清免费观看
|
日本视频免费高清一本18
|
国产啪精品视频网免费
|
免费永久国产在线视频
|
亚洲日韩精品射精日
|
亚洲欧洲国产成人精品
|
日韩在线视精品在亚洲
|
av永久免费网站在线观看
|