- PR -

java scriptでチェックボックスの全選択&解除

1
投稿者投稿内容
キンタロス
常連さん
会議室デビュー日: 2008/01/16
投稿数: 20
投稿日時: 2008-09-18 21:35
お世話になっております。キンタロスです。

今回javaの開発をしているのですが、
java scriptでのチェックボックス全選択&解除に関して実現出来ずに悩んでおります。

画面上の明細行には2列のチェックボックスが存在しており、
対象としたいのは1列だけなのですが、
下記のjava scriptを実行すると2列ともチェックしてしまいます。

jsファイル
----------------------------------------------------------
function allselect(checkedFlg) {
var len = document.mainForm.elements.length;

for(var i=0,j=0; i < len; i++){
if(document.mainForm.elements[i].type == "checkbox"){
var e = document.mainForm.elements[i];
e.checked = checkedFlg;
j++;
}
}
}
-----------------------------------------------------------

jsp
-----------------------------------------------------------
<input type="button" class="btnS" style="margin:4px;" onclick="allselect(true);" value="<bean:message key="MCM.button.MCMOM010.allselect"/>" />
<input type="button" class="btnS" style="margin:4px;" onclick="allselect(false);" value="<bean:message key="MCM.button.MCMOM010.allrelease"/>" />
<
-----------------------------------------------------------

1列だけを全選択&解除するにはどのようなjsファイルを作成すれば良いのでしょうか?

よろしくお願い致します。
ぴあちゃん
ぬし
会議室デビュー日: 2008/02/07
投稿数: 287
投稿日時: 2008-09-19 00:45
えーっと、とりあえずなんで。
JavaとJavaScriptは違うということを理解された上で、一応JFace絡みってことで
レスします。

コード:

<script>
function CheckboxOnOff(className) {

this.length = 1;
this[0] = (function() {
var chks = document.getElementsByTagName("input");
var retArr = [];
for (var i=0;i < chks.length;i++) {
if (/checkbox/.test(chks[i].type) &&
chks[i].className.indexOf(className) > -1)
retArr.push(chks[i]);
}
return retArr;
})();
function check(c, b) {
for (var i=0;i < c.length;i++)
c[i].checked = b;
}

this.on = function() { check(this[0], true) }
this.off = function() { check(this[0], false) }

alert(this[0]);
return this;
}

</script>
<div>
<input type=checkbox class="OnOff" name="C1">1
<input type=checkbox class="OnOff" name="C1">2
<input type=checkbox class="OnOff" name="C1">3
<input type=checkbox class="OnOff" name="C1">4
</div>
<div>
<input type=checkbox class="" name="C2">1
<input type=checkbox class="" name="C2">2
<input type=checkbox class="" name="C2">3
<input type=checkbox class="" name="C2">4
</div>
<input type=button value="ON" onclick="chk.on()">
<input type=button value="OFF" onclick="chk.off()">
<script>
var chk = new CheckboxOnOff("OnOff");
</script>





OnOff クラスは無くてもOK。



[ メッセージ編集済み 編集者: ぴあちゃん 編集日時 2008-09-19 00:55 ]

[ メッセージ編集済み 編集者: ぴあちゃん 編集日時 2008-09-19 00:56 ]

[ メッセージ編集済み 編集者: ぴあちゃん 編集日時 2008-09-19 01:02 ]
1

スキルアップ/キャリアアップ(JOB@IT)