在做页面的时候为了使页面美化,我们经常会用拼接字符串的方式,动态加载后台的数据,这里我们使用的前台框架是bootstrap,但是很多效果还是要用jquery来实现
(1)方法传参与字符串的拼接 (拼接用的replace)
先声明一个展示数据的页面模型(使用过的模型1)
var userModel = "<div class="itemdiv commentdiv" style="margin-left: 7%;">"+ "<div class="row text-left" style="margin-top:5px;">"+ "<label style="color: #737D81;">用户ID:</label>"+ "<label> {userid}</label>"+ "</div>"+ "<div class="row text-left" style="margin-top:5px;">"+ "<label style="color: #737D81;">姓名:</label>"+ "<label> {username}</label>"+ "<button id="{btnId}" class="btn btn-sm btn-info" style="height:30px;margin-left: 20%;">添加</button>"+ "</div>"+ "<div class="row text-left" style="margin-top:5px;">"+ "<label style="color: #737D81;">电话:</label>"+ "<label> {telephone}</label>"+ "</div>"+ "<div class="row">"+ "<div class="hr hr8"></div>"+ "</div>"+ "</div>";
|
然后ajax加载后台数据,然后使用replace,将数据动态替换到页面模型中
$.ajax({ url:'<%=basePath%>platform/getUserPad.action', type : 'POST', dataType : 'json', data :{ user_number : $("#form_searchSecurity").val(), user_name : $("#search_user_name").val(), }, success : function(data) {
$.each(data, function(index, element) {
//此处替换页面模型中的值 var oneUserInfo = userModel.replace(/{userid}/g,element.userid).replace(/{username}/g,element.username) .replace(/{telephone}/g,element.telephone) .replace(/{btnId}/g,'btnId'+index); //给button设置动态ID,不需要可不设置
$("#userModelDiv").append(oneUserInfo); //将页面中的值替换好之后,将这些数据插入页面中需要放这些数据处的div中
document.getElementById('btnId'+index).onclick = function() { //动态添加事件,若在每条数据的后面要添加件事传参,此方式可传一个对象过去 addNumberBySearch(element); //调用这个方法,把对象传过去,
}
//或者是在页面中定义方法,此处传不同参数,同样使用replace方法
}); } });
function addNumberBySearch(element){ //在此方法中添加操作 element.userid //获取属性值 }
|
拼接字符串的时候,遇到传值的问题,可选择方法传值(可以在button里面onclick=aa(参数1,参数2))