2

チェックボックスを操作することに固執しました.1つのグリッドビューがヘッダーと行のチェックボックスとして最初の列を持っています.チェックボックスはデータベースからのiID値にバインドされています. 行を「すべて」(ヘッダーのチェックボックスで)削除したり、「選択済み」(チェックボックスで)削除したい場合があります。今、私はこのコードを使用しています:

JavaScript

function checkcheckboxPrint() {
            var checkfag = false;
            var id = 0;
            var table = document.getElementById('<%=grdRefPhysician.ClientID%>');

            if (table != null) {
                for (i = 1; i < table.rows.length; i++) {
                    var chkRead = table.rows[i].cells[0].getElementsByTagName("input")[0];
                    var DivID = table.rows[i].cells[0].getElementsByTagName('div')[0];

                    if (chkRead != null) {
                        if (chkRead.type == 'checkbox') {
                            if (chkRead.checked) {
                                id = DivID.innerHTML + "," + id;
                                checkfag = true;
                                alert(id);
                            }
                        }
                    }
                }
                if (checkfag == true) {
                    $("#<%=hdnIDs.ClientID %>").val(id);
                    return true;
                }
                else {
                    alert("Please select record to delete.");
                    return false;
                }
            }
        }

jQuery

    $(document).ready(function () {
        $("input:checkbox").change(function () {
            $("#DivDelete").show('slow');
        });
    });

ご覧のとおり、非表示フィールドを使用してコンマ (,) で区切られた ID をサーバー側に取得していますが、基本的には機能していますが、ヘッダー行をチェックするとすべてのチェックボックスが選択され、チェックを外すとすべてのチェックボックスが選択されるというシナリオはありません。次に、すべてのチェックボックスをその逆のように選択解除する必要があります。これをクリックすると、このjsメソッドを呼び出しています

HTML

 <div id="DivDelete" style="text-align:left;display:none;">
        <asp:Button ID="btnDeleteAll" OnClientClick="return checkcheckboxPrint();" runat="server" Text="Delete" />
 </div>

checkAll と独立したチェック機能を使用して、jQuery を使用してコンマ区切りの ID を隠しフィールドに格納したかっただけです。

私のグリッドのスクリーンショットを添付

ここに画像の説明を入力

どんな助けでも大歓迎です!ありがとう

4

1 に答える 1