现在有一个复选框,6个选项为A,B,C,D,E,F这6个复选框出现不固定(值是在数据库中取的,不同业务可能需要的不同,所以出现不固定,但是顺序固定)
可能为A,B,C,D,E,F
也可能为A,B,C,或者A,B,D,E或者B,E,F等等业务逻辑1.选A和F时其他都不可选2.选B时不能选C,D,E3.选C时不能选D如何写一个公用的JS,无论复选框的值如何出现都能对其进行正确的控制?谢谢各位!~

解决方案 »

  1.   

    没明白什么意思,是指A,B,C等字母不一样,但是顺序是123固定的,
    假如选B也就是2,就是3、4、5不能选,是这样吗
      

  2.   


    A,B,C,D,E,F这是6个复选框的值当为A,B,C时,下标就是0,1,2顺序固定的意思是不会出现 C,B,A或者 E,A,D,B这样的情况
      

  3.   

    综合分析:也就是说,只有C+E和D+E的情况会出现,其它全部是单选
    是否这个意思?
      

  4.   

    你可以加一个表,做为关联表,
    比如你现在你一个表中存的是A、B、C、D、E、F、G
    你再加一个表是一个关联表A与BC关联,B与CD关联,明白不?
      

  5.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>测试</title>
    <script language="javascript" type="text/javascript">
        var list = [
        { id: "A", reject: ["B", "C", "D", "E", "F"] }, //其中reject为A的排斥项,以下相同
        { id: "B", reject: ["A", "C", "D", "E", "F"] },
        { id: "C", reject: ["A", "B", "D", "F"] },
        { id: "D", reject: ["A", "B", "C", "F"] },
        { id: "E", reject: ["A", "B", "F"] },
        { id: "F", reject: ["A", "B", "C", "D", "E"] }
        ];    function CreateItem(data) {
            var root = document.createElement("div");
            
            //IE创建check方法,FF兼容的话自己另写吧
            var check = document.createElement("<input type='checkbox' id='" + data.id + "' onclick='SelectMe(this);'>");
            var span = document.createElement("span");
            span.innerHTML = data.id;        root.appendChild(check);
            root.appendChild(span);
            
            return root;
        }    function CreateList() {
            var lst = document.getElementById("divList");
            for (var i = 0; i < list.length; i++) {
                var data = list[i];
                var item = CreateItem(data);
                lst.appendChild(item);
            }
        }    function SelectMe(chk) {
            if (chk.checked == false) return;
            var id = chk.id;
            for (var i = 0; i < list.length; i++) {
                var data=list[i];
                if (data.id == id) {
                    for (var j = 0; j < data.reject.length; j++) {
                        var tmp = document.getElementById(data.reject[j]);
                        tmp.checked = false;
                    }
                }
            }
        }    window.onload = function() {
            CreateList();
        }
    </script>
    </head>
    <body>
        <div id="divList"></div>
        <div style="clear:both"></div>
    </body>
    </html>
      

  6.   

    感谢sharp_ice提供的这种思路之前我都是想的怎么直接控制其不可编辑,没有使用这种方法考虑感谢!~