最近我在项目中碰到这样的问题:input页面提交checkbox多选框,存储格式为:“0,1,2,4”,这样的字符串。但在页面上进行显示时,提供checkbox的name属性都是一样的,只有value值不一样。。如何实现这种情况的checkbox被选中与没有被选中显示,谢谢

解决方案 »

  1.   

    <div>
        <input type="checkbox" name="a" value="1" />
        <input type="checkbox" name="a" value="2" />
        <input type="checkbox" name="a" value="3" />
        <input type="checkbox" name="a" value="4" />
        </div>
        
        <script type="text/javascript">
            
            
            function docheck(stringToShow)
            {
                stringToShowArray = stringToShow.split(",");
                
                var domArray = document.getElementsByName("a");
                for (var i = 0; i < domArray.length; i++)
                {
                    if (isInArray(domArray[i].value, stringToShowArray))
                    {
                        domArray[i].checked = true;
                    }
                }
            }
            
            function isInArray(number, numberArray)
            {
                for (var i = 0; i < numberArray.length; i++)
                {
                    if (number == numberArray[i])
                    {
                        return true;
                    }
                }
                return false;
            }
            
            docheck("1,2,4");
        </script>
      

  2.   

    javaScript呗,页面不管什么,在JS里都是数组
      

  3.   

    数据提取出来 首先判断,如果该字段是以前被选中的,则js控制checkbox的属性为checked ,否则相反。反映在jsp页面上就是如果是以前选中的,就打钩,没选中的,复选框是空白的
      

  4.   

    那这样的话,我在view页面上怎么调用,才能实现在点击跳转到view页面时,就能得到显示结果