动态根据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 ...
随机推荐
- 2. QT窗体间值的传递
一.主窗体与子窗体传参 方法有很多,这里介绍一种通过重载子窗体的构造函数实现主窗体参数传入到子窗体,并通过QT信号和槽的机制实现子窗口到主窗口值的传递. 主和子窗体的设置如下: 主要实现功能为: 1 ...
- JQuery 之事件中的 ----- hover 与 onmouseover 、onmouseout 联系
hover([over,]out) 一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法.这是一个自定义的方法,它为频繁使用的任务提供了一种“保持在其中”的状态. 当鼠标移动到一个匹配的元素 ...
- ASP.NET 后台下载文件方法
void DownLoadFile(string fileName) { string filePath = Server.MapPath(fileName);//路径 //以字符流的形式下载文件 F ...
- hdu2037 经典贪心入门
今年暑假不AC Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
- maven配置spring mvc+hibernate+spring框架
作为一名刚出茅草屋的新手小白写的框架,仅适合新手小白借鉴,大神勿喷,谢谢...... 前天刚知道spring mvc这个框架现在也很流行,决定用它代替struts2来写我的毕业设计. ...作为一名新 ...
- Radar Installation(POJ 1328 区间贪心)
Radar Installation Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 68578 Accepted: 15 ...
- opencv for python
opencv显示图像: # -*- coding: UTF-8 -*- import numpy as np import cv2 from matplotlib import pyplot as p ...
- [TYVJ] P1044 数字三角形
数字三角形 背景 Background 09年 USACO 11月月赛 铜牌第一道 描述 Description 示出了一个数字三角形. 请编一个程序计算从顶至底的某处的一条路径,使该路径所经过 ...
- 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
python IO操作的时候出现这种错误,检查一些url的目录 这个时候需要注意一下一般的dir举例是:“F:\DOCUMENT\4.7” 需要修改成为:F:/DOCUMENT/4.7
- 刺猬大作战(游戏引擎用Free Pascal写成,GUI用C++写成,使用SDL和Qt4)
游戏特性[编辑] 游戏引擎用Free Pascal写成,GUI用C++写成,使用SDL和Qt4[2]. 0.9.12开始支持实时动态缩放游戏画面. 个性化[编辑] 刺猬大作战有着高度定制性 游戏模式: ...