我有一个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
我尝试了很多,但我的字段是模板字段,所以我不知道如何使用它。
任何建议都会很明显。
答案 0 :(得分:1)
使用以下代码进行全选/取消全选
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;
}
从你的headertemplate这样调用函数
HeaderClick(CheckBox, gdvClientId)
,gdvClientId是您的Gridview ID
答案 1 :(得分:1)
也许您可以尝试将此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');
}
}
希望这有帮助。
参考文献:
答案 2 :(得分: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.");
}
<强> DEMO JS FIDDLE 强>
注意:此处chkd
是您的复选框类名称
答案 3 :(得分:0)
让你的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');
}
}
希望这会奏效。谢谢。