日期:2014-05-18  浏览次数:20706 次

求救checkbox全选问题????
我的问题是:
当只有一个选项的时候,我点全选按钮怎么选不上啊??
麻烦各位看看。。。。。。谢谢。。。。

function   checkedAll()
{
            if(document.SurveyForm.checkAll.checked==   true)  
            {
                          for(i=0;i <document.SurveyForm.surveyId.length;i++)
                          {
                    document.SurveyForm.surveyId[i].checked   =   true;
        }
              }
            else  
              {
                          for(i=0;i <document.SurveyForm.surveyId.length;   i++)  
                          {
                    document.SurveyForm.surveyId[i].checked   =   false;  
        }
                }
}



------解决方案--------------------
要加判断
if (ocument.SurveyForm.surveyId.length){
for(i=0;i <document.SurveyForm.surveyId.length;i++)
{
document.SurveyForm.surveyId[i].checked = true;
}
}else
document.SurveyForm.surveyId.checked = true;
如果选项只有一个的话,用元素数组是取不到的。在页面中,只有同名的控件才能形成数组,如果只有一个选项,那控件名为surveyId的就只有一个,不会形成数组,所以要先加个判断。
------解决方案--------------------
用 alert(document.SurveyForm.surveyId.length);把长度打出来看看,如果是0的话就不能勾上了