<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeBehind="TestForDemo.aspx.cs" Inherits="Maticsoft.Web.Product.TestForDemo" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<script src="../js/checkBoxHelper.js"></script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<input type="button" id="btn_Update" value="批量更新" />
<span>全部选择:<input type="checkbox" name="SelectAll" /></span>
<table class="table">
<thead>
<th>选择</th>
<th>产品Id</th>
<th>名称</th>
<th>描述</th>
<th>生产厂家</th>
<th>价格</th>
<th>链接</th>
<th>标题 </th>
</thead>
<%=ConsTr %> </table>
<script type="text/javascript">
$(document).ready(function () {
$("input[name='SelectAll']").click(function () {
if ($(this).attr("checked") == "checked") {
checkBoxHelper.allChecked();
}
else {
checkBoxHelper.allCancle(); }
});
$("input[name='forTest']").click(function () {
if ($(this).attr("checked") == "checked") { checkBoxHelper.addTr(this);
}
else {
var $tr = $(this).parents("tr");
$tr.next(".newrow").remove(); }
});
$("#btn_Update").click(function () {
if ($(this).val() == "批量更新") {
var check = checkBoxHelper.getChecked();
if (check.length == 0) {
alert("至少选择一个");
return false;
}
$(this).val("保存");
$.each(check, function (index, element) {
checkBoxHelper.addTr(element);
}); }
else {
$(this).val("批量更新");
alert("保存成功");
} });
}); </script>
</asp:Content>

HTML

 var checkBoxHelper = {
///全选
allChecked: function () {
$('input[name="forTest"]').attr("checked", "checked");
},
allCancle: function () {
$("input[name='forTest']").each(function () {
this.checked = !this.checked;
});
},
getChecked: function () {
var check = new Array();
$("input[name='forTest']").each(function () {
if (this.checked) {
check.push(this);
}
}); return check;
},
addTr: function (element) {
var $tr = $(element).parents("tr");
if ($tr.next(".newrow").length>0) {
return false;
}
if ($("#btn_Update").val() == "批量更新") {
return false;
}
var price = $tr.find("#price").text();
var select = "<select>";
select += "<option>请选择</option>";
select += "<option>ywx236602</option>";
var $td = "<td>" + select + price + "</td>";
var aftertr = $("<tr class='newrow'></tr>");
aftertr.append($td);
$tr.after(aftertr);
} };

JS

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Maticsoft.Model;
using System.Text; namespace Maticsoft.Web.Product
{
public partial class TestForDemo : System.Web.UI.Page
{
public string ConsTr { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
List<Products> prods = new BLL.Products().GetModelList("");
StringBuilder sb = new StringBuilder();
sb.Append("<tbody>");
foreach (var item in prods)
{
sb.Append("<tr>");
sb.AppendFormat("<td><input type='checkbox' name='forTest' id='{0}'/></td>",item.ProductId);
sb.AppendFormat("<td>{0}</td>", item.ProductId);
sb.AppendFormat("<td>{0}</td>",item.Name);
sb.AppendFormat("<td>{0}</td>",item.Description);
sb.AppendFormat("<td>{0}</td>",item.Catagory);
sb.AppendFormat("<td id='price'>{0}</td>",item.Price);
sb.AppendFormat("<td>{0}</td>",item.Href);
sb.AppendFormat("<td>{0}</td>",item.Title);
sb.Append("</tr>"); }
sb.Append("</tbody>");
ConsTr=sb.ToString();
}
}
}

c#

动态根据checkbox 增加Dom的更多相关文章

  1. ExtJs 3.0 动态生成 CheckBox

    在开发过程中,往往需要利用数据动态生成Checkbox.如权限节点.考试答案,调查选项等等.在Extjs中,有两种方法来获取后台数据,一是Ext.Ajax()方法,第二种是利用 Store,store ...

  2. 代码动态创建checkbox

    根据数据库的内容动态创建Checkbox控件并显示在Panel上 dataset ds=new dataset(); CheckBox[ ] cb=new CheckBox[ds.tables[0]. ...

  3. Jquery动态操作checkbox

    问题的由来:html页面中使用checkbox给新建用户授权,然后提交到后台服务器,完成给用户授权.用户授权完成之后,如果用户的权限发生改变管理员需要修改多个用户的权限或查看某用户的权限,点击不同的用 ...

  4. ng-checked选择和点击增加dom

      1.需求 在添加页面实现一个checkbox的选择,然后在详情页面展示时,会自动选上之前被选中的. 2.添加页面 看官最好将这个代码复制过去看看效果. <!DOCTYPE html>& ...

  5. C语言基础 - 实现动态数组并增加内存管理

    用C语言实现一个动态数组,并对外暴露出对数组的增.删.改.查函数 (可以存储任意类型的元素并实现内存管理) 这里我的编译器就是xcode 分析: 模拟存放 一个 People类 有2个属性 字符串类型 ...

  6. layui动态设置checkbox选中状态

    今天在使用jquery动态设置layui的checkbox元素的选中状态时始终只能取消选中,却不能重新勾选,点击勾选则没有问题,代码如下 if (value == "true") ...

  7. VUE 动态给对象增加属性,并触发视图更新。

    在开发过程中,我们时常会遇到这样一种情况:当vue的data里边声明或者已经赋值过的对象或者数组(数组里边的值是对象)时,向对象中添加新的属性,如果更新此属性的值,是不会更新视图的. 根据官方文档定义 ...

  8. 动态生成CheckBox(Winform程序)

    在做用户权限设置功能时,需要做一个动态生成权限列表的功能.(笔记.分享) //1.清空权限控件组的默认控件 panelPermissions.Controls.Clear(); _groupBoxLi ...

  9. hadoop节点动态删除与增加

    动态删除 1)修改配置文件 修改hdfs-site.xml文件,适当减小dfs.replication的数量,增加dfs.hosts.exclude选项 vi hdfs-site.xml <pr ...

随机推荐

  1. boost::asio 的同、异步方式

    转自:http://blog.csdn.net/zhuky/archive/2010/03/10/5364574.aspx Boost.Asio是一个跨平台的网络及底层IO的C++编程库,它使用现代C ...

  2. css基本属性

    CSS属性分类(最最常用的属性):颜色和长度文字盒模型布局定位背景文本和其他 常用CSS属性: <style>div{ color:#23729e; /*前景色*/ background: ...

  3. overflow清楚浮动 + 去掉li标签的小圆点

    原文链接:http://blog.163.com/qqabc20082006@126/blog/static/22928525201031211212955/ 测试用例: <!DOCTYPE h ...

  4. NO.14 两个div并排,左边为绝对宽度,右边为相对宽度

    两个div并排,左边为绝对宽度,右边为相对宽度,这个问题,我也经常遇到,我一般的处理方法是将最大的容器padding-left固定宽度,左边的固定宽度的一块position:absolute,然后ri ...

  5. shell参数

    shell获取当前执行脚本的路径 filepath=$(cd "$(dirname "$0")"; pwd) 脚本文件的绝对路径存在了环境变量filepath中 ...

  6. 阿里云 Debian Linux 布署记录

    摘要: 主要安装了web环境,java+tomcat+mysql+nginx(暂没没用) 数据盘挂载在/data下,项目,索引都放/data目录下 java,tomcat,mysql程序都在/root ...

  7. XML 解析中,如何排除控制字符

    XML 解析中,如何排除控制字符 今天在解析一个中文的 XML时,始终报错 PCDATA invalid Char value 21 in Entity ,查询了一下这个 21 的ascii 值,发现 ...

  8. 【转】研华Adam6060某段时间后无法连接的问题

    配合乙方测试,需连接现场Adam模块.一段时间后发现模块无法连接,网上资料甚少,发现此贴,记录下.以前没有多客户端高频次(其实谈不上高)连接,没有考虑连接释放的问题.另外,官方Demo也没有释放连接. ...

  9. CppCon - Modern Template Metaprogramming 杂记

    2014年底才看到github和channel9上有CppCon2014的视频和资料,顿时激动不已.最近小生也一直在研习CppCon2014中令人兴奋的内容.这篇鄙文就是小生学习了<Modern ...

  10. QT5.5实现串口通信

    QT5.1以上版本自带QtSerialPort集成库,只要在头文件中集成 #include <QtSerialPort/QSerialPort> #include <QtSerial ...