Как снять флажок, если в этом же ряду установлен другой флажок - PullRequest
0 голосов
/ 07 марта 2019

Если установлен флажок DeviceOne в столбце с меткой Вкл., И пользователь решает снять флажок.Как можно было бы снять флажок с Вкл автоматически, чтобы единственный присутствующий флажок был Выкл.Только один флажок должен присутствовать одновременно.У пользователя не должно быть возможности иметь 2 флажка в одной строке.Заранее спасибо.

                                        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
            <Columns>
                <asp:BoundField DataField="deviceName" HeaderText="Device Name" />
                <asp:BoundField DataField="Status" HeaderText="Status" />
                <asp:TemplateField>
                    <HeaderTemplate>
                        <asp:Label ID="lblOn" runat="server" Text="On"></asp:Label>
                    </HeaderTemplate>
                    <ItemTemplate>
                        <asp:CheckBox ID="checkboxOn" onclick="checkboxOnClick(this);" AutoPostBack="false" runat="server" />
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField>
                    <HeaderTemplate>
                        <asp:Label ID="lblOff" runat="server" Text="OFF"></asp:Label>
                    </HeaderTemplate>
                    <ItemTemplate>
                        <asp:CheckBox ID="checkboxOff" onclick="checkboxOffClick(this);" AutoPostBack="false" runat="server" />
                    </ItemTemplate>
                </asp:TemplateField>


            </Columns>
        </asp:GridView>
        <script type="text/javascript">
            function checkboxOnClick(checkbox) {
                var gridView = document.getElementById("GridView1");
                var atleastOneCheckboxUnchecked = false;
                for (i = 1; i < gridView.rows.length; i++) {
                    if (gridView.rows[i].cells[3].getElementsByTagName("INPUT")[0].checked == false) {
                        atleastOneCheckboxUnchecked = true;
                        break;
                    }
                }
                gridView.rows[0].cells[3].getElementsByTagName("INPUT")[0].checked = !atleastOneCheckboxUnchecked;

            }
            function checkboxOffClick(checkbox) {
                var gridView = document.getElementById("GridView1");
                var atleastOneCheckboxUnchecked = false;
                for (i = 1; i < gridView.rows.length; i++) {
                    if (gridView.rows[i].cells[4].getElementsByTagName("INPUT")[0].checked == false) {
                        atleastOneCheckboxUnchecked = true;
                        break;
                    }
                }
                gridView.rows[0].cells[4].getElementsByTagName("INPUT")[0].checked = !atleastOneCheckboxUnchecked;
            }

        </script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...