JQuery动态添加控件并取值
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>JQuery动态添加控件并取值-jq22.com</title>
<script src="http://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script>
<style>
</style>
</head>
<body>
<input type="button" onclick="add()" value="增加">
<input type="button" onclick="query()" value="查看">
<ul>
<li><span>A:</span>
<input type="checkbox">
<input type="text">
<input type="button" class="del" value="删除">
</li>
<li><span>B:</span>
<input type="checkbox">
<input type="text">
<input type="button" class="del" value="删除">
</li>
<li><span>C:</span>
<input type="checkbox">
<input type="text">
<input type="button" class="del" value="删除">
</li>
<li><span>D:</span>
<input type="checkbox">
<input type="text">
<input type="button" class="del" value="删除">
</li>
</ul><script>
$(document).ready(function() {
init();
});
//初始4个选项
var num = 4;
//添加选项
function add() {
// alert(num)
//添加一行,num加一
num++;
//通过知道当前有的按钮数算出选项名
var str = String.fromCharCode(64 + num);
//编辑新选项的html代码
var $li = $("<li>" + "<span>" + str + ":</span> " + " <input type=\"checkbox\"/>" + " <input type=\"text\" class=\"str\"/>" + " <input type=\"button\" class=\"del\" value=\"删除\"/></li>");
//将新的一行添加到<ul>中
var $parent = $("ul");
$parent.append($li);
//因为添加了新的选项需要重新绑定按钮
init();
}
function query() {
// alert(num)
var str = "";
var str1 = "";
//for循环查询已有控件的输入值
for (var i = 0; i < num; i++) {
var a = $("ul li:eq(" + i + ") :text").val();
var b = $("ul li:eq(" + i + ") :checkbox").is(':checked');
var j = i + 1;
str += "第" + j + "个文本框输入:" + a;
str1 += "第" + j + "个复选框选中:" + b;
}
alert(str);
alert(str1);
}
//绑定每个ul li下的删除按钮
function init() {
//这里其实用ul li input :button就可以,但是给按钮加一个class方便用css给按钮添加样式,这里本人比较懒没有添加样式。
$("ul li input.del").unbind("click").click(function() {
//$(this).parent().remove();链式操作,$(this)为该按钮本事,parent()为其父元素即<li>,调用renmove()将整个<li>节点删除
$(this).parent().remove();
//alert(num)
//for循环刷新列表,因为考试往往用ABC,所以利用ascii码通过获取当前控件的索引来转换成对应的英文字母,
for (var i = 0; i < num - 1; i++) {
//ascii码65对应的A,65加上当前索引值再转成字符即可
var str = String.fromCharCode(65 + i) + ":";
//定位到每个<li>下的<span>节点,将选项号刷新到页面
$("ul li:eq(" + i + ") span").html(str);
}
//删除一行,num减一
num--;
});
}</script>
</body>
</html>
JQuery动态添加控件并取值的更多相关文章
- Jquery 动态追加控件并获取值
先展示通过动态添加控件的结果: 实现步骤: 1.引用js文件 <script src="Script/jquery-1.5.1.min.js" type="text ...
- jQuery EasyUI动态添加控件或者ajax加载页面后不能自动渲染问题的解决方法
博客分类: jquery-easyui jQueryAjax框架HTML 现象: AJAX返回的html无法做到自动渲染为EasyUI的样式.比如:class="easyui-layout ...
- winform导入导出excel,后台动态添加控件
思路: 导入: 1,初始化一个OpenFileDialog类 (OpenFileDialog fileDialog = new OpenFileDialog();) 2, 获取用户选择文件的后缀名(s ...
- VC中动态添加控件
VC中动态添加控件 动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的. 一.创建动态控件: 为了对照,我们先来看一下静态控件的创建. 放置静态控件时必须先建立一个 ...
- asp.net动态添加控件学习
看了老师的教程后,自己一点感悟记录下来: 1.在页面提交后,动态生成的控件会丢失, 但如果生成控件的代码在pageload中,就可以,原理是每次生成页面都执行生成. 2.动态按件或页面原来控件, 在页 ...
- WPF-学习笔记 动态修改控件Margin的值
原文:WPF-学习笔记 动态修改控件Margin的值 举例说明:动态添加一个TextBox到Grid中,并设置它的Margin: TextBox text = new TextBox(); t_gri ...
- WPF 动态添加控件以及样式字典的引用(Style introduction)
原文:WPF 动态添加控件以及样式字典的引用(Style introduction) 我们想要达到的结果是,绑定多个Checkbox然后我们还可以获取它是否被选中,其实很简单,我们只要找到那几个关键的 ...
- Android 在布局容器中动态添加控件
这里,通过一个小demo,就可以掌握在布局容器中动态添加控件,以动态添加Button控件为例,添加其他控件同样道理. 1.addView 添加控件到布局容器 2.removeView 在布局容器中删掉 ...
- WPF:理解ContentControl——动态添加控件和查找控件
WPF:理解ContentControl--动态添加控件和查找控件 我认为WPF的核心改变之一就是控件模型发生了重要的变化,大的方面说,现在窗口中的控件(大部分)都没有独立的Hwnd了.而且控件可以通 ...
随机推荐
- 【控制系统数字仿真与CAD】实验一:状态方程、传函为模型的系统的仿真
一.实验目的 1. 掌握各数学模型之间的转换与数学模型的参数获取,掌握相关MATLAB命令 2. 掌握欧拉法和RK法的递推公式 3. 掌握欧拉法和RK法的MATLAB算法实现 二.实验内容 1. 分别 ...
- 使用Typescript重构axios(五)——实现基础功能:处理请求的header
0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...
- Project Euler 53: Combinatoric selections
从12345这个数字中挑选出三个数共有十种方式: \[ 123, 124, 125, 134, 135, 145, 234, 235, 245,345 \] 在组合学中,我们将其记为\(C(5,3)= ...
- dp杂题(根据个人进度选更)
----19.7.30 今天又开了一个新专题,dp杂题,我依旧按照之前一样,这一个专题更在一起,根据个人进度选更题目; dp就是动态规划,本人认为,动态规划的核心就是dp状态的设立以及dp转移方程的推 ...
- uboot启动完成,kernel启动时lcd屏幕出现杂色解决办法
先说说开发环境吧: 1 内核:linux2.6.xx 2 uboot:买开发板带的 注释:在最后我又添加了问题得到完美解决的办法. 问题:uboot启动完成,kernel启动时lcd屏幕出现杂色(比如 ...
- 重写(OverRide)/重载(Overload)
方法的重写规则 参数列表必须完全与被重写方法的相同: 返回类型与被重写方法的返回类型可以不相同,但是必须是父类返回值的派生类(java5 及更早版本返回类型要一样,java7 及更高版本可以不同): ...
- servlet三大组件
servlet大致可以分为三个:简单servlet.过滤servlet.监听servlet servlet: servlet的创建 创建一个类并实现Servlet接口. 重写service方法. 在服 ...
- kafka线上滚动升级方案记录
kafka升级方案 为什么进行kafka升级 一.修改unclean.leader.election.enabled默认值Kafka社区终于下定决心要把这个参数的默认值改成false,即不再允许出现u ...
- Linux运维利器之ClusterShell
一.简介 实验室机房有大概百台的服务器需要管理,加上需要搭建Hadoop以及Spark集群等,因此,一个轻量级的集群管理软件就显得非常有必要了.经过一段时间的了解以及尝试,最终选择了clustersh ...
- nyoj 25-A Famous Music Composer(字符串)
25-A Famous Music Composer 内存限制:64MB 时间限制:1000ms Special Judge: No accepted:4 submit:9 题目描述: Mr. B i ...