特定のチェックボックスをクリックすると指定のチェックボックスが全てチェックされるスクリプト
イベントリスナを使ってます。一応、IEとFFでは動作チェックしてます。
<script type="text/javascript">
//<[CDATA[
var switcherBoxId = 'switcher';
var targetBoxName = 'targets';
var addListen = (function(){
if(window.addEventListener){
return function(elm, type, func){
elm.addEventListener(type, func, false);
}
}
else if(window.attachEvent){
return function(elm, type, func){
elm.attachEvent('on' + type, func);
}
}
else{
return new Function;
}
})();
addListen(
window,
'load',
function(){
addListen(
document.getElementById(switcherBoxId),
'click',
function(e){
if(e.target){
var target = e.target;
}
else{
var target = window.event.srcElement;
}
if(!target.checked){
var checkboxes = document.forms[0].elements[targetBoxId];
for(var i = 0, n = checkboxes.length; i < n; i++){
if(checkboxes[i].checked){
checkboxes[i].checked = false;
}
}
}
else{
var checkboxes = document.forms[0].elements[targetBoxId];
for(var i = 0, n = checkboxes.length; i < n; i++){
if(!checkboxes[i].checked){
checkboxes[i].checked = true;
}
}
}
}
);
}
);
//>>
</script>
ちなみにIEではメモリリークする気がする。
TrackBack URL :
Comments (0)
コメントはまだありません»
コメントはまだありません。
この投稿へのコメントの RSS フィード。TrackBack URL
コメントする