1

各行のデータを選択するための 1 つの 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] をクリックすると、データベースに挿入されますが、グリッドからチェックボックスを選択しないと、エラー メッセージを表示できません。少なくとも1つのチェックボックスをチェックしたかどうかをJavascriptでチェックする方法を誰か提案してください。

Javascript Alert

いろいろ試しましたが、私のフィールドはテンプレートフィールドなので、どうやって操作すればよいかわかりません。

どんな提案でもかなりの価値があります。

4

4 に答える 4

1

この JavaScript 関数を ADD ボタンの onClientClick 属性に追加してみてください。

            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の行数

于 2013-07-04T09:46:47.890 に答える
1

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.");
        }

デモ JS フィドル

注:これchkdはチェックボックスのクラス名です

于 2013-07-04T10:02:37.650 に答える
0

あなたのグリッドビュー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');
    }
}

これがうまくいくことを願っています。ありがとうございました。

于 2013-07-04T10:17:44.453 に答える