获取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请求完成后刷新父窗口问题的更多相关文章

  1. ajax请求成功后打开新窗口地址

    转自:http://www.cnblogs.com/linjiqin/p/3148205.html jQuery.ajax({       "type":"post&qu ...

  2. ajax请求成功后打开新开窗口(window.open())被拦截的解决方法

    问题:今天在做项目时需要在ajax请求成功后打开一个新的窗口,此时遇到浏览拦截了新窗口的问题,尝试在ajax 回调函数中模拟执行 click 或者 submit 等用户行为(trigger('clic ...

  3. Ajax请求URL后加随机数原理

    原文:Ajax请求URL后加随机数原理 例如: $.ajax({             type: "GET",    url: "login.action?ran=& ...

  4. ajax请求成功后新开窗口window.open()被拦截解决方法

    ajax 异步请求成功后需要新开窗口打开 url,使用的是 window.open() 方法,但是很可惜被浏览器给拦截了,怎么解决这个问题呢   问题: 前面开发项目时碰到一个问题,ajax 异步请求 ...

  5. ajax请求成功后新窗口window.open()被拦截的解决方法

    ajax 异步请求成功后需要新开窗口打开 url,使用的是 window.open() 方法,但是该操作并不是用户主动触发的,所以它认为这是不安全的就拦截了(不过如果是 _self 的话就不会有这个限 ...

  6. 关于ajax请求数据后,数据本身的js失效的一些想法

    今天遇到一个头疼的问题.我做一个左右翻页效果(客户要求能够无限翻页),所以只能动态请求数据,进行局部刷新操作. 这时候问题就出来了,当我请求翻页的时候,数据通过js填充到div里面,但这些数据,自身带 ...

  7. 【jquery】ajax 请求成功后新开窗口被拦截解决方法

    问题: 前面开发项目时碰到一个问题,ajax 异步请求成功后需要新开窗口打开 url,使用的是 window.open() 方法,但是很可惜被浏览器给拦截了,怎么解决这个问题呢? 分析: 浏览器之所以 ...

  8. IE9中ajax请求成功后返回值却是undefined

    ie9中ajax请求一般处理程序成功后返回值始终是undefined,在网上找过很多资料,大致意思都是说前后端编码不一致造成的,但是按照资料上的方案去修改却发现根本不能解决我的问题,试过好多种方案都不 ...

  9. 使用jQuery通过点击它删除HTML表格行-超简单

    jQuery的已成为所有时刻的最常用和最喜爱的JavaScript框架之一.它不仅不会减少在JavaScript编码简单的技术开销,而且也使您的代码的跨浏览器兼容.我已经写了许多关于jQuery教程, ...

随机推荐

  1. JavaScript公共库event-stream被植入恶意代码

    [安全预警]JavaScript公共库event-stream被植入恶意代码 2018年11月27日,阿里云云盾应急响应中心监测到JavaScript公共库event-stream被植入恶意代码,该恶 ...

  2. Django的media配置与富文本编辑器使用的实例

    效果预览 文章列表 添加文章 编辑文章|文章详情|删除文章 项目的基本文件 项目的Model from django.db import models # 导入富文本编辑器相关的模块 from cke ...

  3. centos7部署前后端分离项目的过程

    概述 本文主要讲解在安装了centos7的Linux主机中部署前后端分离项目的过程. 前端项目名为:vue_project:后端项目名为:django_project. 将这两个项目放在/opt/wh ...

  4. python 卡方检验例子

    python 求拒绝域和卡方值 import scipy.stats as ss obs=[107,198,192,125,132,248] exp=[167]*6 #拒绝域 1%的显著水平,自由度5 ...

  5. 阶段1 语言基础+高级_1-3-Java语言高级_1-常用API_1_第5节 String类_3_字符串的常量池

    字符换是可以共享使用的,那么怎么去共享使用呢 三种方式去创建字符串.然后三种分别进行比较 3的地址和1.2的地址不一样 在堆里面有一块空间叫做字符串常量池,从jdk1.7开始.字符串常量池在堆中 字符 ...

  6. struts2 基础2 类型转换器

    struts2常用常量的定义与意义 每一次请求都会创建一个新的action,所以struts2的action是线程安全的 拆分struts 为应用指定多个struts配置文件 src 下为各应用配置的 ...

  7. 编程语言分类,Python代码执行,应用程序使用文件的三步骤,变量,常量,垃圾回收机制

    编程语言分为 机器语言(直接用二进制01跟计算机直接沟通交流,直接操作硬件) 优点:计算机能够直接读懂,速度快 缺点:开发效率极低 汇编语言(用简单的英文标签来表示二进制数,直接操作硬件) 优点:开发 ...

  8. promise 封装 axios

    /*axios({ method:"get", url:"./data.json", data:{ id:10 } }).then((res)=>{ co ...

  9. xshell输入字母空格间距变大

    按一下shift+空格(全角/半角转换的快捷键,引起的问题)

  10. C语言1-2019级秋季作业第一周作业

    1.你对软件工程专业或者计算机科学与技术专业了解是怎样? 软件工程专业是指对计算机的软件方面灵活掌控,开发软件的工程.软件工程其中会用到计算机科学.数学方面构建模型与算法:软件工程的目标就是开发出能够 ...