需求说明:
- 原需求:查询需要操作的发票列表,开具一张发票后不返回初始状态,要保留在查询状态中
- 分析:即将查询条件一并传入后台,做完发票开具后,根据传入条件查询返回数据
- 前端属于公司封装后的ui界面,table按钮为超链接点击后get请求向后台传递数据,查询条件为form表单
处理思路: - 最方便为将上方查询表单一并传向后端,后端已做好form封装等功能,简单快捷,超链接href置为javascript:void(0),循环绑定点击事件
- 问题:超链接get请求没法传form,不想改动太多,太费事(懒)
- 保留超链接提交的方式,将表单数据拼接到href后面
- 问题:绑定时机问题,需要jq循环处理绑定
相对第二种方式比较直观,开始:
遇到问题及处理结果:
起在页面加载完毕就将超链接更新完毕,但是此时并没有查询条件,不可行.
后考虑是在执行查询条件后更新超链接,考虑使用onload方法,触发后选择将取值form表单内的值取得拼接,后端接收参数后转为数组赋值到对象,查询结果返回
window.onload = function(){//监听刷新事件
$('#tab tr').each(function(x){//获取table
$(this).children('td').eq(10).each(function(i){//循环列
var href = $(this).find('a')[0].href;
var cifName = $('input[name = "cifName"]').val();
var formalContNo = $('input[name = "formalContNo"]').val();
var startDate = $('form').find('input[title = "申请日期"]').val();
var endDate = $('form tr').find('input[title = "到"]').val();
var tempString="";
tempString = cifName+":"+formalContNo+":"+startDate+":"+endDate;//获取表单值
href = href+"&tempString="+tempString;
$(this).find('a')[0].href = href;//重新赋值超链接href
/* $(this).find('.abatch').attr("click","formSub();")*/
console.log($('input[name = "formalContNo"]').val())
})
})
}
得到拼接后的结果: