日期:2014-05-16  浏览次数:20471 次

关于js的一些疑问
以下是jsp代码:
<td width="80" align="right" class="bg_grey">选择角色</td>
<td style="width:160px; display: inline;">   
 <s:iterator value="allRoles" var="role" status="st">
<s:property value="#role.rolename" />
<input type="checkbox" name="checkbox" id="checkbox" value="<s:property value="#role.roleId" />">

</s:iterator>
</td>
<td width="80" align="right" class="bg_grey">选择部门</td>
<td>
<s:iterator value="allDepartments" var="department" >
<s:property value="#department.text" />
<input type="radio" name="checkboxDepartment" id="checkboxDepartment" value="<s:property value="#department.id" />">
</s:iterator>
</td>



以下是js代码,是为了判断角色和部门是否有勾选:
var bool = false;
var bool1 = false;
var check = document.getElementById("checkbox");
var depart = document.getElementById("checkboxDepartment");
alert(check.length);
for(var i =0;i<check.length;i++){
if(check[i].checked==true){
      bool = true;
           }
    }
 for(var j=0;j<depart.length;j++){
alert(depart[j].checked);
 if(depart[j].checked){
           bool1 = true;
  }
                                                     }
            if(bool==false){
             alert('请选择角色');
             return false;
            }
            if(bool1==false){
            alert('请选择部门');
             return false;
            }
但是以上代码无效果,经测试,发现check.length和depart.length均为undefined。
求各位大神指教!急急急。。。。。。。。。。




checkbox radio js iterator

------解决方案--------------------
var check = document.getElementById("checkbox");
var depart = document.getElementById("checkboxDepartment");
改成
var check = document.getElementsByName("ch