从js给页面动态添加标签并赋值,多次点击响应数据重复
2017-12-28 16:51
776 查看
js中有个点击事件,当点击列表某值后执行
onClick: function(event, treeId, treeNode) { loadTemplateData(treeNode.id); }
异步取值并填充到页面
var loadTemplateData = function(templateId){ loadTempLate(); if(templateId && templateId !== ''){ cu.showLoadding();//打开遮罩防止多次点击数据填重 AJAX.init().success(function(code,msg,data){ if(data){ var template = data.template; var questions = data.questions; var users = data.users; //主模板 $('#tempName').textbox('setValue',template.tempname); $('#tempId').val(template.tempid); $('#tempType').combobox('select',template.temptype); $('#totalFraction').textbox('setValue',template.totalfraction); $('#templateDetail').textbox('setValue',template.remark); //考核项 if(questions && questions.length >0){ $('#content').find('#cont').remove(); } var html = ''; $.each(questions,function(i,item){ var points_info = item.points_info; if(points_info==undefined){ points_info=""; } html += '<tr id="cont">' +'<td id="indicator"><input type="hidden" name="qId" value="'+item.qid+'"><input type="text" style="width:200px;" data-options="width:100,validType:\'maxlength[60]\'" class=" easyui-textbox textbox-text" name="indicator" value="'+item.indicator+'"></td>' +'<td id="indicator_info"><input style="width:200px;" type="text" class="easyui-textbox textbox-text" data-options="width:100,validType:\'maxlength[60]\'" name="indicator_info" value="'+item.indicator_info+'"></td>' +'<td id="points"> <input style="width:200px;" type="number" class="easyui-textbox textbox-text" data-options="width:100,validType:\'maxlength[10]\'" name="points" value="'+parseFloat(item.points)+'"></td>' +'<td id="points_info"> <input type="text" style="width:200px;"class="easyui-textbox textbox-text" data-options="width:100,validType:\'maxlength[60]\'" name="points_info" value="'+points_info+'"></td>' +'<td> <a href="javascript:void(0)" class="vitobtn aadBtn" type="buttons" id="delete">删除</a> </td> </tr>'; //初始化表单中的验证器 $('input[type!="hidden"],select,textarea',$('#content') ).each(function(){ $(this).validatebox(); }); $('input[name="points"]',$('#content') ).each(function(){ //$(this).numberbox(); }); }); $('#content').append(html); //参与人 var userIds=[]; var names=[]; var count = users.length; $.each(users,function(i,item){ userIds.push(item.userid); names.push(item.name); }); $("#joinerUserName").textbox('setValue',names); $("input[name='joinerUserId']").val(userIds); $("input[name=memberCount]").val(count); cu.hideLoadding(); } }).post(BASEPATH+'/oa/performance/queryTemplateById.htm?templateId='+templateId); } };
但是多次连击会出现页面数据重复多次,解决办法就是在数据未加载完成之前点击有遮罩 4000 效果,此处遮罩是我oa项目中的,只需调用就行
var cu = require("resource/js/component/commonUtil.js");
相关文章推荐
- js 点击动态添加标签 删除指定标签
- JS中利用localStorage防止页面动态添加数据刷新后数据丢失
- .Net 点击按钮实现动态添加行并保持页面的数据不变
- 通过js动态为标签元素添加点击事件
- JS点击动态添加标签、删除指定标签的代码
- submit在第一次点击按钮后且页面没有得到响应前,多次点击向后台发送数据情况说明
- js中防止连续点击按钮导致多次重复提交数据的方法
- 解决多条数据点击详情页面中调用jquery赋值重复的问题
- JS动态添加的div点击跳转到另一页面实现代码
- 点击添加按钮,使用ajax动态添加一行和移除一行,并且序号重新排序和数据不重复操作判断
- js动态添加的div点击跳转到另一页面
- JavaScript实现动态添加页面的表格行数并获取数据
- js动态向页面中添加表格
- js获取不到动态添加的标签的值的解决方法
- 设置主键自动增长引起刷新页面重复添加数据
- 动态添加JS文件到页面
- JS动态修改页面EasyUI datebox不生效、EasyUI动态添加Class、EasyUI动态渲染解析解决方案
- js模拟form表单提交数据, js模拟a标签点击跳转,避开使用window.open引起来的浏览器阻止问题
- jq动态生成的元素(标签)添加点击事件
- JS动态修改页面EasyUI datebox不生效、EasyUI动态添加Class、EasyUI动态渲染解析解决方案