簡體   English   中英

如何使用Javascript檢查Gridview模板中的復選框是否被選中?

[英]How to check whether the check box inside Gridview Template is Selected or not with Javascript?

我有一個gridview,其中包含一個templatefield復選框,用於選擇每行的數據。 在這里,他們可以從網格中選擇成員。

 <asp:GridView ID="dgMembers2" runat="server" AllowPaging="True" AllowSorting="True">
                        <HeaderTemplate>
                            <asp:CheckBox ID="chkBxHeader" onclick="javascript:HeaderClick(this);" runat="server"
                                Text="Select All" />
                        </HeaderTemplate>
                        <ItemTemplate>
                            <asp:CheckBox ID="CheckBox1" runat="server" />
                        </ItemTemplate>
                    </asp:TemplateField>
                    </Gridview>

因此,當他們選擇成員並單擊ADD然后將其插入數據庫但如果他們沒有從網格中選擇任何復選框,則我無法顯示任何錯誤消息。 任何人都可以建議我如何用Javascript檢查它是否已經檢查了至少一個復選框,然后我想顯示

Javascript Alert

我嘗試了很多,但我的領域是模板字段,所以我不知道如何使用它。

任何建議都會令人感激。

使用以下代碼進行全選/取消全選

function HeaderClick(CheckBox, gdvClientId) {

var TargetBaseControl =     document.getElementById(gdvClientId);
            var TargetChildControl = 'chkOrder';


            var Inputs = TargetBaseControl.getElementsByTagName('input');


            for (var n = 0; n < Inputs.length; ++n)
                if (Inputs[n].type == 'checkbox' &&                                      Inputs[n].id.indexOf(TargetChildControl, 0) >= 0)
                    Inputs[n].checked = CheckBox.checked;

        }

從像HeaderClick(CheckBox, gdvClientId)這樣的HeaderClick(CheckBox, gdvClientId)調用函數,gdvClientId是你的Gridview ID

也許你可以嘗試將此javascript函數添加到onClientClick屬性的ADD按鈕。

            function tryThis() {
        var rowscount = document.getElementById('<%=yourGridViewID.ClientID%>').rows.length;
        var chkTest = 0;
        for (var i = 0; i < rowscount-1; i++) {
            var chkName = "yourGridViewID_yourCheckBoxID_" + i;
            var chkChecked = document.getElementById(chkName).checked;
            if (chkChecked == true) {
                chkTest = 1;
                break;
            }
        }
        if (chkTest == 0) {
            alert('Nothing Checked');
        }
        else {
            alert('Something Checked');
        }
    }

希望這可以幫助。

參考文獻:

如果選中復選框,我該如何獲得?

使用Javascript的ASP.NET GridView行計數

添加asp.net CustomValidator控件,並設置js函數

HTML標記:

<asp:CheckBox ID="CheckBox1" runat="server" cssClass="chkd" />

<asp:CustomValidator runat="server" ID="validcontrol" EnableClientScript="true"
ClientValidationFunction="validchkbox">required.</asp:CustomValidator>

JavaScript功能:

function validchkbox(sender, e)
{
    e.IsValid = $(".chkd input:checkbox").is(':checked');
}

代碼背后:

if (Page.IsValid)
{
    //  Logic Code here...
}

要么

Jquery讓開發人員的生活變得更輕松:

   if ($('.chkd').is(':checked')){
        alert("Heloo Welcome..");
    } 
   else {
          alert("Please select the checkbox.");
        }

DEMO JS FIDDLE

注意:這里chkd是你的復選框類名

讓你的gridview id是gv_test

function checkChecked() {
    var count = 0;
    $("#gv_test").find(":checkbox").each(function (i) {
        if ($(this).is(":checked")) {
            count++;
        }
    });
    if (count == 0) {
        alert('your error message');
    }
}

希望這會奏效。 謝謝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM