電子書籍の厳選無料作品が豊富!

下記のソースのように数が変化するチェックボックスに各name属性が
割り当てられている場合、JavaScriptでチェックボックスの数を数える
際にfor文を使用したいのですが

for (var i = 0 ; i <= ????? ; i++ )

の?????の部分はどのように記述すればよいのでしょうか
(チェックボックスの数がいくつあるかをどのように表すのか)

<%
for(int i = 0; i < list.size(); i++ ) {
ArrayList data = (ArrayList) list.get(i);
%>
<tr class="listTr">
<td class="<%= data.get(8) %>" id="set11">
<% if(data.get(0).equals("1")) {
out.println("<input type='checkbox' name='output" + i + "' value='1' "' checked>");
} else {
out.println("<input type='checkbox' name='output" + i + "' value='1' "'>");
}
%>

A 回答 (1件)

こういった関数でどうでしょうか。



<script>
function checkBoxLength(strPartID){
var nCheckboxLength=0;
var objReg=RegExp("^"+strPartID);
var objInputItem = window.document.getElementsByTagName("INPUT");
for( strKey in objInputItem ){
var objItem = objInputItem[strKey];
if( objItem && objItem.name && objItem.name.match(objReg)!=null ){
nCheckboxLength++;
}
}
return nCheckboxLength;
}
</script>
    • good
    • 0
この回答へのお礼

nicorus様

超人的!なスクリプトありがとうございました

結果的にはJavaソース部分にあるlist.size()を使えばよいだけだったのですが
このような方法もあるということで勉強になりました

ありがとうございました

お礼日時:2011/08/23 21:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!