在DataGrid控件中,有一列是模板列(为多选按钮),同时还有一个Button按钮,我想实现单击Button,如果多选按钮这一列中没有一个选择,那就用JavaScript提示"请选择",如果有选择,那就是提示"是否真得确定删除".我用this.btnMulDel.Attributes.Add("onclick", "return confirm('确认删除吗?');");实现了删除的判定,请问大家如果没有选择的话,如何用JavaScript判定,谢谢!
调试欢乐多
CheckBox chk;
for (int i = 0; i < this.GridView1.Rows.Count; i++)
{
chk = (CheckBox)this.GridView1.Rows[i].FindControl("CheckBox1");
if (chk.Checked == false)
{
chk.Checked = true;
}
}以上的代码的功能是,选中所有checkbox
this.btnMulDel.Attributes.Add("onclick",
"CheckNum(gridviewId) "CheckNum(gridviewId)
{
var flag=false;
var check=gridviewId.getEleementByTags("Check");
for(var i=0;i<check.length;i++)
{
if(check[i].checked==true)
{
flag=true;
}
}
if(flag)
{ return confirm('确认删除吗?');
}
else
{
window.alert('请选择要删除的数据');
return false;
}
}
this.btnMulDel.Attributes.Add("onclick",
" return CheckNum(gridviewId) "
default.aspx<script>
function checkchk()
{
var inputs =document .getElementById ("<%=GridView1.clientID%>").getElementsByTagName("input");
//下面语句取不到 checkbox
//var inputs=gridview1.getEleementByTags("Check");
//var inputs=(CheckBox)this.GridView1.Rows[i].FindControl("CheckBox1");
var j=0;
for(var i=0;i<inputs.length ;i++)
{
if(inputs [i].type=="checkbox" & inputs[i].checked==true)
{
j=j+1;
}
}
if( j==0 )
{
alert('没有选中任何数据!');
}
else
{
confirm('确认删除吗?');
}
}
</script>
完整代码<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
<script>
function checkchk()
{
var inputs =document .getElementById ("<%=GridView1.clientID%>").getElementsByTagName("input");
//下面语句取不到 checkbox
//var inputs=gridview1.getEleementByTags("Check");
//var inputs=(CheckBox)this.GridView1.Rows[i].FindControl("CheckBox1");
var j=0;
for(var i=0;i<inputs.length ;i++)
{
if(inputs [i].type=="checkbox" & inputs[i].checked==true)
{
j=j+1;
}
}
if( j==0 )
{
alert('没有选中任何数据!');
}
else
{
confirm('确认删除吗?');
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:TemplateField>
<EditItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" />
</EditItemTemplate>
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:Button ID="Button1" runat="server" Text="Button" UseSubmitBehavior="False" />
</div>
</form>
</body>
</html>
default.aspx.vbImports System.Data
Partial Class _Default
Inherits System.Web.UI.Page Protected Sub form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles form1.Load
Dim ds As New DataSet
ds.Tables.Add("namelist")
ds.Tables(0).Columns.Add("ID", GetType(Int32))
ds.Tables(0).Columns.Add("Name", GetType(String))
'ds.Tables(0).Columns.Add("c", GetType(Boolean))
ds.Tables(0).Rows.Add(New Object() {1, "张三"})
ds.Tables(0).Rows.Add(New Object() {2, "李四"})
ds.Tables(0).Rows.Add(New Object() {3, "王二"})
ds.Tables(0).Rows.Add(New Object() {4, "麻子"}) GridView1.Width = "600" GridView1.DataSource = ds
GridView1.DataBind() Button1.Attributes.Add("onclick", "return checkchk();")
End Sub
End Class
alert('没有选中任何数据!');下面添加return false;否则页面在没有选中数据时仍然会提交!
{ if(document.getElementsByTagName('hf_Id').value ==''||document.getElementsByTagName('hf_Id').value == "")
{
alert("您至少选则一项才可以继续操作!");
return false;
}
else
return true;
}
function IsDel()
{
return confirm("是否删除您选择的记录?");
}function checkAll(name)
{
var el = document.getElementsByTagName('input');
var len = el.length;
for(var i=0; i<len; i++)
{
if((el[i].type=="checkbox"))
{
el[i].checked = document.getElementById(name).checked;
}
}
}
<%=GridView1.clientID%>
请问这个是什么意思?
我用得是DataGrid控件.谢谢!