Enjoy yourself,and don't care about others' thinking!
----TiGERTiAN
BlogJava
首頁
新隨筆
聯系
聚合
管理
隨筆-348 評論-598 文章-0 trackbacks-0
jQuery操作JSF中的Checkbox樹
下面的代碼是,當選中父節點,則子節點全選;選中任意一個子節點,則選中父節點
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;
}
);
}
}
//
更新父節點的方法,如果子節點全部選中則父節點選中,如果子節點中有一個選中,則父節點也選中
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 ;
}
}
下面的代碼是,當選中父節點,則子節點全選;選中所有子節點,則選中父節點
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;
}
);
}
}
//
更新父節點的方法,如果子節點全部選中則父節點選中,如果子節點中有一個未選中,則父節點也未選中
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 ;
}
}
---------------------------------------------------------
專注移動開發
Android, Windows Mobile, iPhone, J2ME, BlackBerry, Symbian
posted on 2009-12-27 22:52
TiGERTiAN
閱讀(2760)
評論(0)
編輯
收藏
所屬分類:
Java
、
JSF
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
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
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(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
搜索
積分與排名
積分 - 810965
排名 - 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調用時序(38704)
2.?Android的Intent和IntentFilter應用說明一例(37704)
3.?Hibernate三種狀態的區分,以及save,update,saveOrUpdate,merge等的使用(34341)
4.?Android中短信攔截解決方案(31088)
5.?Android中ContentProvider和ContentResolver使用入門(21427)
評論排行榜
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)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 TiGERTiAN
主站蜘蛛池模板:
亚美影视免费在线观看
|
亚洲丁香婷婷综合久久
|
a毛片免费在线观看
|
亚洲精品美女久久久久99小说
|
色噜噜噜噜亚洲第一
|
日韩视频免费一区二区三区
|
亚洲AV无码AV日韩AV网站
|
在线观看人成视频免费
|
国产91成人精品亚洲精品
|
亚洲av日韩片在线观看
|
在线免费视频你懂的
|
亚洲国产成人久久精品动漫
|
久久久久久夜精品精品免费啦
|
亚洲一区精品中文字幕
|
久久午夜免费视频
|
亚洲精品乱码久久久久蜜桃
|
美女被暴羞羞免费视频
|
亚洲电影日韩精品
|
中文字幕乱理片免费完整的
|
亚洲国产高清在线
|
嫩草影院在线免费观看
|
日韩免费高清一级毛片
|
亚洲AV无码一区二区二三区入口
|
国内精品免费麻豆网站91麻豆
|
学生妹亚洲一区二区
|
免费成人黄色大片
|
日本免费久久久久久久网站
|
亚洲AV无码精品蜜桃
|
日本中文一区二区三区亚洲
|
a级成人毛片免费图片
|
亚洲偷自精品三十六区
|
亚洲av日韩av欧v在线天堂
|
无码人妻一区二区三区免费看
|
久久亚洲色WWW成人欧美
|
亚洲午夜福利717
|
91免费资源网站入口
|
japanese色国产在线看免费
|
亚洲欧洲精品久久
|
国产裸模视频免费区无码
|
精品国产污污免费网站
|
一级黄色免费毛片
|