动态根据checkbox 增加Dom
<%@ 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的更多相关文章
- ExtJs 3.0 动态生成 CheckBox
在开发过程中,往往需要利用数据动态生成Checkbox.如权限节点.考试答案,调查选项等等.在Extjs中,有两种方法来获取后台数据,一是Ext.Ajax()方法,第二种是利用 Store,store ...
- 代码动态创建checkbox
根据数据库的内容动态创建Checkbox控件并显示在Panel上 dataset ds=new dataset(); CheckBox[ ] cb=new CheckBox[ds.tables[0]. ...
- Jquery动态操作checkbox
问题的由来:html页面中使用checkbox给新建用户授权,然后提交到后台服务器,完成给用户授权.用户授权完成之后,如果用户的权限发生改变管理员需要修改多个用户的权限或查看某用户的权限,点击不同的用 ...
- ng-checked选择和点击增加dom
1.需求 在添加页面实现一个checkbox的选择,然后在详情页面展示时,会自动选上之前被选中的. 2.添加页面 看官最好将这个代码复制过去看看效果. <!DOCTYPE html>& ...
- C语言基础 - 实现动态数组并增加内存管理
用C语言实现一个动态数组,并对外暴露出对数组的增.删.改.查函数 (可以存储任意类型的元素并实现内存管理) 这里我的编译器就是xcode 分析: 模拟存放 一个 People类 有2个属性 字符串类型 ...
- layui动态设置checkbox选中状态
今天在使用jquery动态设置layui的checkbox元素的选中状态时始终只能取消选中,却不能重新勾选,点击勾选则没有问题,代码如下 if (value == "true") ...
- VUE 动态给对象增加属性,并触发视图更新。
在开发过程中,我们时常会遇到这样一种情况:当vue的data里边声明或者已经赋值过的对象或者数组(数组里边的值是对象)时,向对象中添加新的属性,如果更新此属性的值,是不会更新视图的. 根据官方文档定义 ...
- 动态生成CheckBox(Winform程序)
在做用户权限设置功能时,需要做一个动态生成权限列表的功能.(笔记.分享) //1.清空权限控件组的默认控件 panelPermissions.Controls.Clear(); _groupBoxLi ...
- hadoop节点动态删除与增加
动态删除 1)修改配置文件 修改hdfs-site.xml文件,适当减小dfs.replication的数量,增加dfs.hosts.exclude选项 vi hdfs-site.xml <pr ...
随机推荐
- rz/sz上传下载
z(Zmodem文件传输协议) rz 文件上传(Receive Zmodem) rz sz 文件下载(Send Zmodem) sz filename rz/sz工具需要自己安装
- Hacker(13)----搜集目标计算机的重要信息
扫描与嗅探攻防 黑客若要发起入侵攻击,他需要做好充分的准备的工作,首先通过嗅探和扫描等操作来搜索信息,从而确定目标计算机,以便准确发出攻击.嗅探和扫描操作可以利用专业的软件工具实现,如X-Scan.S ...
- PHP学习笔记二十【静态方法】
<?php //静态变量的基本用法 //1,在类中定义变量 //2.定义方式[访问修饰符]static 变量名 //3.访问方式self::$变量名 第二种方式,类名::$变量名 //4.在类外 ...
- 如何更改 Mac OS X 系统默认用户名
说到 Mac 用户名估计有许多人都不知道在哪个地方修改,其实说简单也简单说麻烦也麻烦看你自己的需求.好比如果你只要用户名的登录更改,那是就非常简单的事了.下面这里就给大家介绍mac osx系统如何更改 ...
- $.getJson()和$.ajax()同步处理
一.前言 为什么需要用到同步,因为有时候我们给一个提交按钮注册提交表单数据的时候,在提交动作之前会进行一系列的异步ajax请求操作,但是页面js代码会按顺序从上往下面执行,如果你在这过程中进行了异步操 ...
- stl学习之模板
模板是实现代码重用机制的一种工具,实质就是实现类型参数化,即把类型定义为参数. C++提供两种模板:函数模板,类模板. template<typename T> //或者 templa ...
- 使用正则表达式限制swing (JTextField等) 的输入
之前使用Qt编写Gui程序的时候,可以直接使用正则表达式限制所有输入框,非常方便. 这段时间要做一份课程设计,使用java编写,ui要限制输入,比如只能输入x位数字,输入身份证等. 百度了许多资料,发 ...
- JavaScript、Ajax与jQuery的关系
简单总结: 1.JS是一门前端语言. 2.Ajax是一门技术,它提供了异步更新的机制,使用客户端与服务器间交换数据而非整个页面文档,实现页面的局部更新. 3.jQuery是一个框架,它对JS进行了封装 ...
- 【solr专题之四】在Tomcat 中部署Solr4.x
1.安装Tomcat (1)下载并解压至/opt/tomcat中 # cd /opt/jediael # tar -zxvf apache-tomcat-7.0.54.tar.gz # mv apac ...
- jq插件处女座 图片轮播
好久没写博客了,变得好懒呀,无地自容.最近一直在学sass和jq插件的写法,照猫画虎的谢了一个jq的插件,也算是第一次真正称得上插件的插件 ,废话不多说 上代码 (function($) { $.fn ...