动态新增删除tbody表格行与ajax请求完成后刷新父窗口问题
获取tbody内的一行数据,包括hidden类型的数据
$("#tbody_id").find("tr").each(function(){
var tdArr = $(this).children();
var servicename = tdArr.eq(0).find("input").val();
var serviceid = tdArr.eq(0).find("input[type='hidden']").val();
var price = tdArr.eq(1).find("input").val();
var count = tdArr.eq(2).find("input").val();
var server = servicename + ":" + serviceid + ":" + price + ":" + count + ",";
serverList += server;
});
获取table中选中的复选框所在行的值
var check = $("table input[type=checkbox]:checked");
check.each(function() {//遍历选中的复选框
var row = $(this).parent("td").parent("tr");
var name = row.children().eq(1).text();
});
//获取table选中行的某列的值
$("#table_css tbody").on("click","tr",function() {
var td = $(this).find("td");
var data = td.eq(1).text();
$('#companyName',parent.document).val(company);
});
删除选中行方法
delTr = function delTr(nowTr){
$(nowTr).parent().parent().remove();
};
//动态追加内容至tbody方法
$.each(datas,function(index,value){
html += "<tr>";
html += "<td width='30%'><input readonly='readonly' type='text' name='servername_" + (trLength + index) + "' value='" + value.servicename + "'/><input type='hidden' name='serviceid_" + (trLength + index) + "' value='" + value.serviceid + "'/></td>"
html += "<td width='30%''><input type='text' name='price_" + (trLength + index) + "'/></td>"
html += "<td width='30%'><input type='text' name='count_" + (trLength + index) + "'/></td>"
html += "<td width='9%'><button class='btn btn-info' type='button' onclick='delTr(this);'>删除</button></td>"
html += "</tr>";
});
//获取父窗口的tbody元素,并动态添加行
$("#tbody_id",window.parent.document).append(html);
layer框架以open方式打开子窗口,并在子窗口关闭窗口方法 var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
刷新指定iframe页面数据,下面的示例是刷新父窗口的iframe数据
$("#iframe_id", window.parent.document).attr("src","${basePath}/order/info/index"); 为什么上面代码这样写,是因为在ajax执行完之后回调刷新父页面,window.location.href window.parent.location.href跳转的效果都不好,网上说的window.location.reload()
window.parent.location.reload()、location.reload()、self.window.opener.locaction.reload()这些方法都没有效果,暂时不明原因, 先记录于此吧。
//对tbody行输入的数据进行校验,如果不用try catch方式 直接return的话,只会跳出循环,还是会往下运行代码,故采用try catch方式
try{
$("#server_t").find("tr").each(function(){
var tdArr = $(this).children();
var servicename = tdArr.eq(0).find("input").val();
var serviceid = tdArr.eq(0).find("input[type='hidden']").val();
var price = tdArr.eq(1).find("input").val();
if(!Number(price)) {
throw("请输入正确格式的价格");
return;
}
var count = tdArr.eq(2).find("input").val();
if(!Number(count)) {
throw("请输入正确格式的次数");
return;
}
});
}catch(e) {
alert(e);
return;
}
动态新增删除tbody表格行与ajax请求完成后刷新父窗口问题的更多相关文章
- ajax请求成功后打开新窗口地址
转自:http://www.cnblogs.com/linjiqin/p/3148205.html jQuery.ajax({ "type":"post&qu ...
- ajax请求成功后打开新开窗口(window.open())被拦截的解决方法
问题:今天在做项目时需要在ajax请求成功后打开一个新的窗口,此时遇到浏览拦截了新窗口的问题,尝试在ajax 回调函数中模拟执行 click 或者 submit 等用户行为(trigger('clic ...
- Ajax请求URL后加随机数原理
原文:Ajax请求URL后加随机数原理 例如: $.ajax({ type: "GET", url: "login.action?ran=& ...
- ajax请求成功后新开窗口window.open()被拦截解决方法
ajax 异步请求成功后需要新开窗口打开 url,使用的是 window.open() 方法,但是很可惜被浏览器给拦截了,怎么解决这个问题呢 问题: 前面开发项目时碰到一个问题,ajax 异步请求 ...
- ajax请求成功后新窗口window.open()被拦截的解决方法
ajax 异步请求成功后需要新开窗口打开 url,使用的是 window.open() 方法,但是该操作并不是用户主动触发的,所以它认为这是不安全的就拦截了(不过如果是 _self 的话就不会有这个限 ...
- 关于ajax请求数据后,数据本身的js失效的一些想法
今天遇到一个头疼的问题.我做一个左右翻页效果(客户要求能够无限翻页),所以只能动态请求数据,进行局部刷新操作. 这时候问题就出来了,当我请求翻页的时候,数据通过js填充到div里面,但这些数据,自身带 ...
- 【jquery】ajax 请求成功后新开窗口被拦截解决方法
问题: 前面开发项目时碰到一个问题,ajax 异步请求成功后需要新开窗口打开 url,使用的是 window.open() 方法,但是很可惜被浏览器给拦截了,怎么解决这个问题呢? 分析: 浏览器之所以 ...
- IE9中ajax请求成功后返回值却是undefined
ie9中ajax请求一般处理程序成功后返回值始终是undefined,在网上找过很多资料,大致意思都是说前后端编码不一致造成的,但是按照资料上的方案去修改却发现根本不能解决我的问题,试过好多种方案都不 ...
- 使用jQuery通过点击它删除HTML表格行-超简单
jQuery的已成为所有时刻的最常用和最喜爱的JavaScript框架之一.它不仅不会减少在JavaScript编码简单的技术开销,而且也使您的代码的跨浏览器兼容.我已经写了许多关于jQuery教程, ...
随机推荐
- 转:SpringMVC常见面试题总结(超详细回答)
原文:https://blog.csdn.net/a745233700/article/details/80963758 我略微修改了下某些地方 1.什么是Spring MVC ?简单介绍下你对sp ...
- 十、补充数据类型set
set:无顺序的不重复的集合 list---允许重复,修改tuple--允许重复,不能修改 set----不允许重复的集合例子: s=set()print s l1=[11,22,33,22,11]l ...
- Python selenium 三种等待方式详解(必会)
很多人在群里问,这个下拉框定位不到.那个弹出框定位不到…各种定位不到,其实大多数情况下就是两种问题:1 有frame,2 没有加等待.殊不知,你的代码运行速度是什么量级的,而浏览器加载渲染速度又是什么 ...
- 012-elasticsearch5.4.3【五】-搜索API【一】搜索匹配所有matchAllQuery、全文查询[matchQuery、multiMatchQuery、commonTermsQuery、queryStringQuery、simpleQueryStringQuery]
一.概述 查询所使用的 QueryBuilders来源于以下 import static org.elasticsearch.index.query.QueryBuilders.*; 请注意,您可以使 ...
- jQuery测试错题解析
1. JavaScript中实现回车切换效果是利用了event对象的( )属性. A.Tab B.keyCode C.KeyCode D.KeyDown 解析:实现回车切换效果是keyCode属性.故 ...
- 阶段1 语言基础+高级_1-3-Java语言高级_04-集合_01 Collection集合_1_Collection集合概述
- web 前端2 html css一些小问题技巧
html css一些小问题技巧 1 对于儿子块float后,父亲块如果没内容就不见了,如何让父亲块依然跟随飘起了的儿子块撑起来呢?? 用到的属性after方法 公共方法作为继承即可. 1.1 方法 ...
- vue项目 引入js文件
例如我想将laydate.js引到vue项目中 将用到的js文件放到static文件夹内,在项目的根目录下的index.html内引入 <script src="static/js/l ...
- ES6扩展运算符(三点符号), 解构
http://www.cnblogs.com/chrischjh/p/4848934.html
- package.json说明
package.json是什么? 直接的说:就是管理你本地安装的npm包 一个package.json文件可以做如下事情: 展示项目所依赖的npm包 允许你指定一个包的版本[范围] 让你建立起稳定,意 ...