Динамический checkboxlist проверка снимите все флажки JavaScript - PullRequest
0 голосов
/ 04 октября 2018

Все, я загружаю динамический список флажков из первого индекса базы данных со значением «ВСЕ».Когда установлен индекс 0, все остальные флажки должны быть сняты.Если установлен любой другой флажок, «ВСЕ» необходимо снять.

    <asp:CheckBoxList ID="cblResponsibility" runat="server" DataTextField="description" DataValueField="code" 
                                                                                                            RepeatLayout="Table" RepeatDirection="Vertical" RepeatColumns="1" Font-Size="X-Small" AutoPostBack="false"  onclick="toggleResponsibilityCheckBoxes(this)">
                                                                                                        </asp:CheckBoxList>


<script type="text/javascript">  
        function toggleResponsibilityCheckBoxes(elem)
        {
            var div = document.getElementById('<% = cblResponsibility.ClientID%>');
            var chk = div.getElementsByTagName('input');
            var len = chk.length;
            var allChecked = false;
            var checkedcount = 0;
            for (var i = 0; i < len; i++)
            {
                if (chk[i].type === 'checkbox')
                {
                    if (chk[0].checked == true && i > 0 && allChecked==true)
                    {                       
                        chk[i].checked = false;                      
                    }
                    if (i != 0 && chk[i].checked == true)
                    {
                        allChecked = true;
                       // chk[0].checked = false;                       
                        checkedcount = checkedcount+1
                    }
                    if (len - 1 == checkedcount) {

                        for (var i = 1; i < len; i++)
                        {
                            chk[i].checked = false;
                        }
                        chk[0].checked = true
                    }
               }
            }
</script>
...