ページ内のチェックボックスをすべてチェックする
by
replication
2010-06-12 [2010/06/12 01:15:22]
ページ内のチェックボックスをすべてチェックする
@@ -6,31 +6,37 @@
* @require
*/
-var inputTags = document.getElementsByTagName('input');
-var checkFlag = true;
-function isCheckAll() {
+(function(){
+
var inputTags = document.getElementsByTagName('input');
- var flag = true;
- for(var i=0; i<inputTags.length; i++) {
- if(inputTags[i].type == "checkbox") {
- if(inputTags[i].checked == false) {
- flag = false;
+ var isCheck = true;
+
+ if(isAllChecked()) {
+ isCheck = false;
+ }
+
+ function isAllChecked() {
+ for(var i=0, len=inputTags.length; i<len; i++) {
+ var elm = inputTags[i];
+ if(elm.type === "checkbox") {
+ if(!elm.checked) {
+ return false;
+ }
}
}
+ return true;
}
- return flag;
-}
-if(isCheckAll()) {
- checkFlag = false;
-}
-for(var i=0; i<inputTags.length; i++) {
- if(inputTags[i].type == "checkbox") {
- if(inputTags[i].checked != checkFlag) {
- inputTags[i].checked = checkFlag;
- if(inputTags[i].onclick) {
- inputTags[i].onclick();
+
+ for(var i=0, len=inputTags.length; i<len; i++) {
+ var elm = inputTags[i];
+ if(elm.type === "checkbox") {
+ if(elm.checked != isCheck) {
+ elm.checked = isCheck;
+ if(elm.onclick) {
+ elm.onclick();
+ }
}
}
}
-}
+})();
/*
* @title ページ内のチェックボックスをすべてチェックする
* @description ページ内のチェックボックスをすべてチェックする
* @include http://*
* @license MIT License
* @require
*/
(function(){
var inputTags = document.getElementsByTagName('input');
var isCheck = true;
if(isAllChecked()) {
isCheck = false;
}
function isAllChecked() {
for(var i=0, len=inputTags.length; i<len; i++) {
var elm = inputTags[i];
if(elm.type === "checkbox") {
if(!elm.checked) {
return false;
}
}
}
return true;
}
for(var i=0, len=inputTags.length; i<len; i++) {
var elm = inputTags[i];
if(elm.type === "checkbox") {
if(elm.checked != isCheck) {
elm.checked = isCheck;
if(elm.onclick) {
elm.onclick();
}
}
}
}
})();
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。