ASP.NET中用JavaScript写:获得GridView复选框的值!
ASP.net中用JavaScript写怎么获得GridView复选框的结果,或者获得选择复选框第一列的值...
ASP.net中 用JavaScript写 怎么获得GridView复选框的结果,或者获得选择复选框第一列的值
展开
2个回答
展开全部
首先使用复选框绑定每行数据的ID 这样你就会获得了 然后根据这个ID查数据就好了
给你段代码
我的这段代码 是实现批量操作的 和你要实现的差不多
function che() {
var checks = window.document.getElementById("cheks");
if (checks.checked == true) {
chAll();
}
else
RemoveAll();
}
function chAll() {
var selobj = document.getElementsByName("chek");
for (var i = 0; i < selobj.length; i++) {
selobj[i].checked = true;
}
}
function RemoveAll() {
var selobj = document.getElementsByName("chek");
for (var i = 0; i < selobj.length; i++) {
selobj[i].checked = false;
}
}
function delectAll(id) {
var items = "";
var selobj = document.getElementsByName("chek");
for (var i = 0; i < selobj.length; i++) {
if (selobj[i].checked == true) {
items = items + selobj[i].value + ",";
}
}
debugger;
if (items.length <= 0) {
alert("请选择要退寝的人员!!!");
return false;
}
else {
if (id == "Batch") {
if (confirm("确定退寝吗?")) {
document.getElementById("iditems").value = items;
return true;
}
}
return false;
}
}
这个是我的js
前台页面:
<asp:LinkButton ID="Batch" runat="server" Font-Underline="false"
OnClientClick='return delectAll(this.id)' CssClass="style" Font-Size="13px"
onclick="Batch_Click">批量退寝</asp:LinkButton>
<asp:HiddenField ID="iditems" runat="server" />//这是一个隐藏域:目的是存储所有选定的值
我用的是gridview控件
<asp:GridView ID="GridRoomOut" runat="server" AutoGenerateColumns="False" Width="100%"
AllowPaging="True" OnPageIndexChanging="GridView1_PageIndexChanging" PageSize="28"
Font-Size="13px" CellPadding="4" ForeColor="#333333" GridLines="None">
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
<Columns>
<asp:TemplateField >
<HeaderTemplate>
//这个是为了实现 全选 和反选的
<input name="cheks" id="cheks" type="checkbox" onclick="che()" />
</HeaderTemplate>
<ItemTemplate>
//这个是绑定数据的ID的
<input name="chek" id="chek" type="checkbox" value='<%#(Convert.ToString( Eval("ID"))) %>' />
</ItemTemplate>
</asp:TemplateField>
在后台:
后台删除:
protected void Batch_Click(object sender, EventArgs e)
{
//接受前台隐藏域的值 也就是说前台选中chekbox所绑定的ID值
string idtems = Request.Form["iditems"].ToString().TrimEnd(',');
string time = DateTime.Now.Date.ToShortDateString();
string[] ids = null;
if(idtems!="")
{
ids = idtems.Split(',');
}
for (int i = 0; i < ids.Length; i++)
{
int id = int.Parse(ids[i].ToString());
if (dal.RoomOutUpdate(id,time) > 0)
{
continue;
}
}
ClientScript.RegisterStartupScript(GetType(), "", "alert('退寝成功!'); window.location.href = window.location.href;", true);
}
希望能帮到你
给你段代码
我的这段代码 是实现批量操作的 和你要实现的差不多
function che() {
var checks = window.document.getElementById("cheks");
if (checks.checked == true) {
chAll();
}
else
RemoveAll();
}
function chAll() {
var selobj = document.getElementsByName("chek");
for (var i = 0; i < selobj.length; i++) {
selobj[i].checked = true;
}
}
function RemoveAll() {
var selobj = document.getElementsByName("chek");
for (var i = 0; i < selobj.length; i++) {
selobj[i].checked = false;
}
}
function delectAll(id) {
var items = "";
var selobj = document.getElementsByName("chek");
for (var i = 0; i < selobj.length; i++) {
if (selobj[i].checked == true) {
items = items + selobj[i].value + ",";
}
}
debugger;
if (items.length <= 0) {
alert("请选择要退寝的人员!!!");
return false;
}
else {
if (id == "Batch") {
if (confirm("确定退寝吗?")) {
document.getElementById("iditems").value = items;
return true;
}
}
return false;
}
}
这个是我的js
前台页面:
<asp:LinkButton ID="Batch" runat="server" Font-Underline="false"
OnClientClick='return delectAll(this.id)' CssClass="style" Font-Size="13px"
onclick="Batch_Click">批量退寝</asp:LinkButton>
<asp:HiddenField ID="iditems" runat="server" />//这是一个隐藏域:目的是存储所有选定的值
我用的是gridview控件
<asp:GridView ID="GridRoomOut" runat="server" AutoGenerateColumns="False" Width="100%"
AllowPaging="True" OnPageIndexChanging="GridView1_PageIndexChanging" PageSize="28"
Font-Size="13px" CellPadding="4" ForeColor="#333333" GridLines="None">
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
<Columns>
<asp:TemplateField >
<HeaderTemplate>
//这个是为了实现 全选 和反选的
<input name="cheks" id="cheks" type="checkbox" onclick="che()" />
</HeaderTemplate>
<ItemTemplate>
//这个是绑定数据的ID的
<input name="chek" id="chek" type="checkbox" value='<%#(Convert.ToString( Eval("ID"))) %>' />
</ItemTemplate>
</asp:TemplateField>
在后台:
后台删除:
protected void Batch_Click(object sender, EventArgs e)
{
//接受前台隐藏域的值 也就是说前台选中chekbox所绑定的ID值
string idtems = Request.Form["iditems"].ToString().TrimEnd(',');
string time = DateTime.Now.Date.ToShortDateString();
string[] ids = null;
if(idtems!="")
{
ids = idtems.Split(',');
}
for (int i = 0; i < ids.Length; i++)
{
int id = int.Parse(ids[i].ToString());
if (dal.RoomOutUpdate(id,time) > 0)
{
continue;
}
}
ClientScript.RegisterStartupScript(GetType(), "", "alert('退寝成功!'); window.location.href = window.location.href;", true);
}
希望能帮到你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$("#tableID checkbox").each(function(){
alert($(this).attr('checked'));
})
弹出所有checkbox的选中状态
alert($(this).attr('checked'));
})
弹出所有checkbox的选中状态
追问
点击后调用:
function btnclick() {
$("#GridView1 checkbox").each(alert($(this).attr('checked')));
}
没用啊,我的checkbox是在GridView里面的 动态生成的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询