下面就是我的ajax请求数据循环拼接
function getconfigureData(){
$.ajax({
type: "GET",
url: ctx + "leaderApproval/automaticApproval",
dataType: 'json',
success: function(res) {
if(res.code==0){
var automaticApprovals = res.automaticApprovals;
var servicePeriod = res.servicePeriod;
var sysUsers = res.sysUsers;
var num = res.num;
for(var i = 0;i<automaticApprovals.length;i++){
var obj=`
<div class="configure_item">
<div class="configure">
<div class="configure_content">
<div class="configure_name">
<input type="checkbox" ${automaticApprovals[i].status== '0'?'':'checked="checked"'} name="configureCheck" data-id="${automaticApprovals[i].id}" class="configureCheck">
<span>${automaticApprovals[i].configurationName}</span>
</div>
<div class="configure_changeCon"><a class="edit_configure">修改配置</a><span class="del" data-id="${automaticApprovals[i].id}">删除</span></div>
</div>
<div class="configure_condition">
<label>筛选条件:</label>
<div>审核员:<span>${automaticApprovals[i].loginName=='0'?'不限':automaticApprovals[i].loginName}</span></div>
<div>服务期限:<span>${automaticApprovals[i].servicePeriod=='0'?'不限':automaticApprovals[i].servicePeriod}</span><span>${automaticApprovals[i].servicePeriod!=0 && automaticApprovals[i].servicePeriod!= '' ?"个工作日":""}</span></div>
<div>剩余天数:<span>${automaticApprovals[i].minTime}</span><span>${automaticApprovals[i].maxTime?"至":""}</span><span>${automaticApprovals[i].maxTime}</span><span>${automaticApprovals[i].maxTime?"个工作日":""}</span></div>
</div>
<div class="configure_time">
<label>审核时间:</label>
<div>进入领导审核列表<span>${automaticApprovals[i].approvalTime}</span>分钟后自动通过审核</div>
</div>
</div>
<div class="configure configure_new" hidden="hidden">
<div class="configure_content">
<div class="configure_name">
<span>${automaticApprovals[i].configurationName}</span>
<input type="text" value="${automaticApprovals[i].configurationName}" hidden="hidden" class="name nameold" maxlength="30">
</div>
<div class="configure_changeName"><a>更改名称</a></div>
</div>
<div class="configure_condition_new">
<label>筛选条件:</label>
<div>
<span class="condition_tit">审核员:</span>
<select name="auditor" class="select_condition auditor">
<option value="">请选择</option>
<option value="0" ${automaticApprovals[i].adminId== '0'?'selected="selected"':''}>不限</option>
${sysUsers.map(sysUsers=>`
<option ${automaticApprovals[i].adminId== sysUsers.userId?'selected="selected"':''} required="required" value="${sysUsers.userId}">${sysUsers.loginName}</option>
`).join('')}
</select>
</div>
<div>
<span class="condition_tit">服务期限:</span>
<select name="servicePeriod" class="select_condition servicePeriod">
<option value="">请选择</option>
<option value="0" ${automaticApprovals[i].servicePeriod== '0'?'selected="selected"':''}>不限</option>
${servicePeriod.map(servicePeriod=>`
<option ${automaticApprovals[i].servicePeriod == servicePeriod.dictLabel?'selected="selected"':''} required="required" value="${servicePeriod.dictLabel}">${servicePeriod.dictLabel}</option>
`).join('')}
</select>
</div>
<div style="position: relative;">
<span class="condition_tit">剩余天数:</span>
<input type="number" class="startDay" value="${automaticApprovals[i].minTime?automaticApprovals[i].minTime:""}" />
<span style="width: 10px;">-</span>
<input type="number" class="endDay" value="${automaticApprovals[i].maxTime?automaticApprovals[i].maxTime:""}" />
<label class="error remainday-error" style="left: 490px;top: -2px;color: #ef392b;" hidden="hidden">
<i class="fa fa-times-circle"></i><span>请输入正确的时间段</span>
</label>
</div>
</div>
<div class="configure_time" style="position: relative;">
<label>审核时间:</label>
<div><input type="number" class="time changeTime" value="${automaticApprovals[i].approvalTime}">分钟后自动通过领导审核</div>
<label class="error time-error" style="left: 300px;top: 8px;color: #ef392b;" hidden="hidden">
<i class="fa fa-times-circle"></i>
<span></span>
</label>
</div>
<div class="configure_btn"><button class="btn btn-success cancel">取消</button><button class="btn btn-primary save" data-id="${automaticApprovals[i].id}">保存</button></div>
</div>
</div>
`
$("#configures").append(obj)
}
}
}
});
}
三目运算符 实现 复选框是否选中状态
<input type="checkbox" ${automaticApprovals[i].status== '0'?'':'checked="checked"'} name="configureCheck" data-id="${automaticApprovals[i].id}" class="configureCheck">
下拉框渲染数据并默认选中一个值
<select name="auditor" class="select_condition auditor">
<option value="">请选择</option>
<option value="0" ${automaticApprovals[i].adminId== '0'?'selected="selected"':''}>不限</option>
${sysUsers.map(sysUsers=>`
<option ${automaticApprovals[i].adminId== sysUsers.userId?'selected="selected"':''} required="required" value="${sysUsers.userId}">${sysUsers.loginName}</option>
`).join('')}
</select>
以上是es的 由于ie11兼容不行 所以考虑js字符串拼接
function getconfigureData(){
$.ajax({
type: "GET",
url: ctx + "leaderApproval/automaticApproval",
data:{data:new Date()},
dataType: 'json',
success: function(res) {
if(res.code==0){
var automaticApprovals = res.automaticApprovals;
var servicePeriod = res.servicePeriod;
var sysUsers = res.sysUsers;
var num = res.num;
for(var i = 0;i<automaticApprovals.length;i++){
var obj='<div class="configure_item">\n' +
'<div class="configure">\n' +
'<div class="configure_content">\n' +
'<div class="configure_name">\n' +
'<input type="checkbox" ' +(automaticApprovals[i].status=="0"?"":"checked='checked'" )+ 'name="configureCheck" data-id="'+automaticApprovals[i].id+'" class="configureCheck">\n' +
'<span>'+automaticApprovals[i].configurationName+'</span>\n' +
'</div>\n' +
'<div class="configure_changeCon"><a class="edit_configure">修改配置</a><span class="del" data-id="'+automaticApprovals[i].id+'">删除</span></div>\n' +
'</div>\n' +
'<div class="configure_condition">\n' +
'<label>筛选条件:</label>\n' +
'<div>审核员:<span>'+(automaticApprovals[i].loginName=="0"?"不限":automaticApprovals[i].loginName)+'</span></div>\n' +
'<div>服务期限:<span>'+(automaticApprovals[i].servicePeriod=="0"?"不限":automaticApprovals[i].servicePeriod)+'</span><span>'+(automaticApprovals[i].servicePeriod!="0"&& automaticApprovals[i].servicePeriod!=""?"个工作日":"")+'</span></div>\n' +
'<div>剩余天数:<span>'+automaticApprovals[i].minTime+'</span><span>'+(automaticApprovals[i].minTime?"至":"")+'</span><span>'+automaticApprovals[i].maxTime+'</span><span>'+(automaticApprovals[i].minTime?"个工作日":"")+'</span></div>\n' +
'</div>\n' +
'<div class="configure_time">\n' +
'<label>审核时间:</label>\n' +
'<div>进入领导审核列表<span>'+automaticApprovals[i].approvalTime+'</span>分钟后自动通过审核</div>\n' +
'</div>\n' +
'</div>\n' +
'<div class="configure configure_new" hidden="hidden">\n' +
'<div class="configure_content">\n' +
'<div class="configure_name">\n' +
'<span class="configure_oldname_static">'+automaticApprovals[i].configurationName+'</span>\n' +
'<input type="text" value="'+automaticApprovals[i].configurationName+'" hidden="hidden" class="name nameold" maxlength="30">\n' +
'</div>\n' +
'<div class="configure_changeName"><a>更改名称</a></div>\n' +
'</div>\n' +
'<div class="configure_condition_new">\n' +
'<label>筛选条件:</label>\n' +
'<div>\n' +
'<span class="condition_tit">审核员:</span>\n' +
'<select name="auditor" class="select_condition auditor">\n' +
'<option value="">请选择</option>\n' +
'<option value="0" ' +(automaticApprovals[i].adminId=="0"?"selected='selected'":"" )+ ' >不限</option>'+getUserOptions(sysUsers,automaticApprovals[i].adminId)+'\n' +
'</select>\n' +
'</div>\n' +
'<div>\n' +
'<span class="condition_tit">服务期限:</span>\n' +
'<select name="servicePeriod" class="select_condition servicePeriod" >\n' +
'<option value="">请选择</option>\n' +
'<option value="0" ' +(automaticApprovals[i].servicePeriod=="0"?"selected='selected'":"" )+ '>不限</option>'+getOptions(servicePeriod,automaticApprovals[i].servicePeriod)+'\n' +
'</select>\n' +
'</div>\n' +
'<div style="position: relative;">\n' +
'<span class="condition_tit">剩余天数:</span>\n' +
'<input type="number" class="startDay" value="'+(automaticApprovals[i].minTime?automaticApprovals[i].minTime:"")+'" />\n' +
'<span style="width: 10px;">-</span>\n' +
'<input type="number" class="endDay" value="'+(automaticApprovals[i].maxTime?automaticApprovals[i].maxTime:"")+'" />\n' +
'<label class="error remainday-error" style="left: 490px;top: -2px;color: #ef392b;" hidden="hidden">\n' +
'<i class="fa fa-times-circle"></i><span style="margin-left: 4px;">请输入正确的时间段</span>\n' +
'</label>\n' +
'</div>\n' +
'</div>\n' +
'<div class="configure_time" style="position: relative;">\n' +
'<label>审核时间:</label>\n' +
'<div><input type="number" class="time changeTime" value="'+automaticApprovals[i].approvalTime+'">分钟后自动通过领导审核</div>\n' +
'<label class="error time-error" style="left: 300px;top: 8px;color: #ef392b;" hidden="hidden">\n' +
'<i class="fa fa-times-circle"></i>\n' +
'<span></span>\n' +
'</label>\n' +
'</div>\n' +
'<div class="configure_btn"><button class="btn btn-success cancel">取消</button><div class="btn btn-primary save" data-id="'+automaticApprovals[i].id+'">保存</div></div>\n' +
'</div>\n' +
'</div>'
$("#configures").append(obj)
}
}
}
});
}
input复选框默认选中
'<input type="checkbox" ' +(automaticApprovals[i].status=="0"?"":"checked='checked'" )+ 'name="configureCheck" data-id="'+automaticApprovals[i].id+'" class="configureCheck">\n' +
下拉框默认选中 渲染数据option
'<select name="servicePeriod" class="select_condition servicePeriod" >\n' + '<option value="">请选择</option>\n' + '<option value="0" ' +(automaticApprovals[i].servicePeriod=="0"?"selected='selected'":"" )+ '>不限</option>'+getOptions(servicePeriod,automaticApprovals[i].servicePeriod)+'\n' + '</select>\n' +
function getOptions(data,cur) { return data.map(function(value){ return '<option ' +(cur==value.dictLabel?"selected='selected'":"" )+ ' value="'+value.dictLabel+'">'+value.dictLabel+'</option>'; }).join('') }
给渲染的元素添加绑定事件
$(document).on('click', '元素', function () { console.log("点击了") })