JQuery动态增加表格行,但是无法获取新增行的属性

horse_leo_zhcn 2014-12-09 03:54:10
test.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//Dth HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>aaaa</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<link rel="stylesheet" type="text/css" href="css/main.css">
<script type="text/javascript" src="js/jquery-2.1.1.js"></script>
</head>
<body>
<br>
<table id="tab" align="center" border="1" width="80%" cellpadding="0" cellspacing="0">
<tbody style="font-size: 14px;text-align: center;">
<tr>
<th width="2%" id="delete">删除</th>
<th>材质</th>
<th>行业</th>
<th>产品</th>
<th>包装</th>
<th>表面处理</th>
<th>仓储费</th>
<th>运费</th>
<th>不含税价</th>
<th>含税价</th>
</tr>
<tr>
<td colspan="8">合计</td>
<td>不含税</td>
<td>含税</td>
</tr>
</tbody>
</table>

</body>
</html>


insert.js
$(function() {
$("#insert").click(function() {
var td_delete = $("<td width='2%' id='delete'>").text("删");
var td_material = $("<td>").text($("#material").find("option:selected").text());
var td_profession = $("<td>").text($("#profession").find("option:selected").text());
var td_category = $("<td>").text($("#category").find("option:selected").text());

var tr = $("<tr>")
var table = $("table:last tr:last");
tr.append(td_delete).append(td_material).append(td_profession).append(td_category);
table.before(tr);

});

$("#delete").click(function() {
alert("您确定要删除所选行?")
/* $(this).parent().parent().remove(); */
});
})





图中第一行是标题行,是test.jsp中写好的
红框中是动态新增的行,第一个td中都有一个id=delete,但是我点击的时候没有反应,这是怎么回事儿,我该如何做
...全文
491 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
Grimm_1185943116 2016-12-27
  • 打赏
  • 举报
回复
版主无敌啊
horse_leo_zhcn 2014-12-10
  • 打赏
  • 举报
回复
引用 11 楼 xuzuning 的回复:
    $(document).on("click", ".delete", function(){
        alert("abd");
    })
版主就是NB,问题解决了!!
xuzuning 2014-12-09
  • 打赏
  • 举报
回复
    $(document).on("click", ".delete", function(){
        alert("abd");
    })
horse_leo_zhcn 2014-12-09
  • 打赏
  • 举报
回复
引用 9 楼 zy205817 的回复:
$(".delete").live("click",function(){ alert("abd"); })
不好意思!我用的是jquery-2.1.1.js,不支持live这个方法了
码无边 2014-12-09
  • 打赏
  • 举报
回复
$(".delete").live("click",function(){ alert("abd"); })
horse_leo_zhcn 2014-12-09
  • 打赏
  • 举报
回复
引用 4 楼 xuzuning 的回复:
动态元素不能用 click 绑定,要用 on 绑定
版主你好!根据你的提示,我做了如下修改
$(function() {
	$("#insert").click(function() {
		var td_delete = $("<td width='2%' class='delete'>").text("删");
		var td_material = $("<td>").text($("#material").find("option:selected").text());
		var td_profession = $("<td>").text($("#profession").find("option:selected").text());
		var td_category = $("<td>").text($("#category").find("option:selected").text());

		var tr = $("<tr>")
		var table = $("table:last tr:last");
		tr.append(td_delete).append(td_material).append(td_profession).append(td_category);
		table.before(tr);

	});
	
	$(".delete").on("click",function(){
		alert("abd");
	})
	
})
但是还是没有效果,新增的行无法获取到
Braska 2014-12-09
  • 打赏
  • 举报
回复
var td_delete = $("<td width='2%'>").text("<a href='javascript:void(0);' onclick='deleteTr(this)'");
js:
function deleteTr(obj){
alert("您确定要删除所选行?")
         $(obj).parent().parent().remove(); 
}
闪闪放光芒 2014-12-09
  • 打赏
  • 举报
回复
你给出供测试代码不全你那个id='insert'的元素在你的html哪里啊
horse_leo_zhcn 2014-12-09
  • 打赏
  • 举报
回复
引用 4 楼 xuzuning 的回复:
动态元素不能用 click 绑定,要用 on 绑定
能在我的代码上直接给出示例吗?
xuzuning 2014-12-09
  • 打赏
  • 举报
回复
动态元素不能用 click 绑定,要用 on 绑定
郭梧悠 2014-12-09
  • 打赏
  • 举报
回复
或者用class
郭梧悠 2014-12-09
  • 打赏
  • 举报
回复
别用id,用name试试
Braska 2014-12-09
  • 打赏
  • 举报
回复
id不能冲突。。
V1.1.0更新记录: 表格 [需求]加入分组模式 [需求]加入树模式 [需求]加入统计(位于底部) [需求]加入延时加载 [需求]加入本地查询支持 [需求]加入复选框初始化的支持 [需求]列 百分比 [需求]列 显示和隐藏 [需求]列 表头改变文字 [需求]编辑器事件: 编辑前事件、验证编辑器结果是否通过、结束编辑后事件 [需求]增加右击接口 [需求]多表头 [优化]grid新增的时候可通过column的defaultValue进设置默认值 [修复]grid的编辑功能和checkbox多选功能存在冲突 [修复]修复加载时不显示loading的问题,并加入自定义加载时的支持 [修复]修改grid addRow()如果没有数据的时候row没有高度 [修复]修改可编辑grid中DateEditor编辑错误的问题 下拉框 [需求]支持动态改变值 [需求]增加打开下拉框前事件,利用这个参数可以用来调用其他函数,比如打开一个新窗口来选择值 表单 [需求]spinner支持最大最小值 树 [需求]增加 选择/反选择节点 接口 弹窗 [需求]支持回车关闭 [修复]dialog.frame浏览器兼容支持 V1.0.2更新记录: 皮肤 [增加]增加一套皮肤(Silvery) [增加]增加一套图标 表单 [增加]增加表单提示气泡插件,结合表单验证使用,在demo中提供表单验证的一个解决方案 [优化]优化表单,每个表单插件(ligerTextBox、ligerSpinner等)可以通过属性ligerui自动加载参数,如ligerui="{width:200}" 表格 [优化]gridRows和Total字段名可配置,提交给服务器的参数可配置,所有与用户操作交互的地方(如上一页、下一页)都加上事件 [优化]插件执直接返回ligerGrid Manager(其他用到接口管理对象的插件都类同) 树 [优化]树支持id pid的这种线性数据结构格式 弹窗 [修复]弹窗样式冲突 [优化]弹窗增加close支持 V1.0.1更新记录: 弹窗 [增加]增加新插件:弹框,命名空间为$.ligerDialog。一系列静态方法。包括Open、Success、Error、Warn、Show。(这个样式比较美观,于是加上去了。并采用九格的排版方式,兼容性更好,扩展性更好)集对话框、模态窗口、非模态窗口等于这个命名空间下。(原来已经有弹出框插件和窗口插件了,ligerWindow和ligerMessage,不推荐,暂时保留) 菜单 [增加]增加新插件:菜单、菜单条、工具条,菜单可以自定义图片,可以动态设置项,动态的显示位置。菜单条和是在菜单的基础上显示的一个类似Window菜单的一个插件,工具条是一些按钮的集合,可以自定义图片。 树 [增加]提供右击方法实现的接口 [优化]点击项就折叠/反折叠,而不是点击 + 才折叠 下拉框 [增加]支持在分页的表格在选取数据(配置grid,参数跟ligerGrid的参数一致)  [增加]支持在树选取数据(配置tree,参数跟ligerTree的参数一致)  [增加]提供Resize方法实现的接口 [优化]细节优化 表格 [增加]汇总方式增加一个render(自定义函数,不限于sum、avg、count、max、min)  [增加]增加复选框列,同时增加相应的事件和方法。 [优化]优化了显示速度 [修复]解决在IE6下表格头部文字消失的问题 [修复]解决包含在form下不能正常显示高度的问题(height设置为百分比) 布局 [增加]ligerTab增加右键菜单功能,包括 关闭其他/关闭全部等。 [增加]ligerTab增加获取Items Count,删除项等常见方法 [增加]ligerLayout增加初始化控制左边/右边隐藏、是否折叠、是否调整大小等方法。 [优化]面板点击项就折叠/反折叠,而不是点击 + 才折叠 [修复]解决ligerLayout,在IE6下调整Line太宽的问题 [修复]解决ligerLayout,包含在form下不能正常显示高度的问题 表单 [修复] ligerSpinner每次点击即增加/减少,而不是按住的时候才有效果
前端html5框架ZUI发布1.2正式版本了! 此版本增加了很多新特性,同时修复问题,文档也得到大幅完善。 欢迎大家使用并反馈问题, 更新明细: 1、新增日历视图组件,方便实现日程的展示 2、新增数据表格视图组件,更轻松实现复杂数据的展示,移除table.data.js 3、重新实现的模态框触发器,模态框触发器同时支持加载远程内容和实时内容,实时根据自身内容调整位置和尺寸,重新设计了调用接口,使用更加方便,消除了模态框触发器于一般模态框发生冲突的隐患 4、package.json增加组件及其依赖关系的配置,重新实现了Grunt任务,编译单独组件更加方便,并支持任意组件集合的打包编译,grunt任务将自动管理组件之间的依赖关系 5、大幅更新文档部分章节内容,并对文档整理样式进了调整,在文档中可以查看每个组件属性,并给出第三方组件版本及用户支持信息,文档支持IE8,优化文档在小屏幕上的表现 6、重新实现了漂浮消息组件,调用更方便,更好的动画效果 7、新增新的第三方组件chartjs,能够绘制简单图表 8、增加browser.js,为IE系列的浏览器增加版本提示辅助类 9、新增 'store.js',实现本地存储通用接口,并增加单独页面范围的独立存储机制,beta版本中的页面标识有时不正确的bug已得到修复 10、新增 'jquery.extensions.js',增加一些实用的jQuery扩展方法,便于进其他组件的开发,移除原'unities.js' 11、增加array.js,提供一些操作数组的实用方法 12、调整了dist目录结构,第三方组件和适合单独调用的组件将直接包含在lib目录中 13、Chosen选项及分组支持title属性,Chosen弹出列表支持自定义宽度,调整多选Chosen中选项的样式 14、修复Chosen中特定情况下placeholder无法显示的问题 15、日期时间选择器将能够自动从html标签中获取页面语言设置并应用语言设置 16、调整左侧固定导航样式 17、在date.js中增加一些实用方法来帮助进日期计算 18、模态框支持额外的两种默认尺寸,修复某些时候模态框弹出时滚动条闪动的问题 19、修复代码段第一出现错位的样式问题 20、一些组件的额外组成部分其对应的文件被重新命名 21、修复特定情况下kindeditor图标无法显示的问题 22、优化区块面板视图动作按钮事件监听机制 23、修复color.js中增加命名颜色支持 26、弹出框增加新的选项能够制定JS生成DOM的id属性,便于自定义样式 27、大幅优化代码,修复一些在Javascript代码中的错误,完善关键代码注释,增强部分代码文件与requierejs的兼容性

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧