Spring MVC下bootstraptable的表格之行数据编辑及删除-2

上一篇讲了表格怎么展示数据,这一篇讲述下怎么编辑行数据及删除行数据,本文中实现的不是每一行数据后边跟着操作按钮,而是选择哪一行编辑哪一行,下面是工具栏的展示,工具栏的展示在table上方,例子中的工具按钮采用模态弹框,弹框分别为#edit及#create,btn_edit添加onclick事件的原因是可以把列表的数据带到弹框上,便于修改。

<div class="panel-body" style="padding-bottom:0px;">
<!--  例子中使用的是client分页   -->
    <div id="toolbar" class="btn-group">
        <button id="btn_edit" type="button" class="btn btn-default" data-toggle="modal" data-target="#edit" onclick="edit()" >
            <span class="glyphicon glyphicon-pencil" aria-hidden="true"></span>修改
        </button>
        <button id="btn_delete" type="button" class="btn btn-default" data-toggle="modal">
            <span class="glyphicon glyphicon-remove" aria-hidden="true"></span>删除
        </button>
        <button type="button" class="btn btn-warning" data-toggle="modal" data-target="#create" >添加信息</button>
    </div>
    <table id="table" data-sortable="true"></table> 
</div>
<!--  修改开始-->
<div class="modal fade" id="edit" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
	<form id="postUrlForm"method="post" action='<c:url value="/license/edit"/>' class="pageForm required-validate" onsubmit="">
	    <div id="edit" class="modal-dialog">
	        <div class="modal-content">
	            <div class="modal-header">
	                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
	                <h4 class="modal-title" id="myModalLabel">标题</h4>
	            </div>
	            <div style="padding: 100px 100px 1px;">
	            	<div class="input-group">
			            <span class="input-group-addon">id:</span>
			            <input id="idE" type="text" disabled="disabled" class="form-control" >
			        </div>
			        <br>
		            <div class="input-group">
			            <span class="input-group-addon">项目名称:</span>
			            <input id="projectNameE" type="text" disabled="disabled" class="form-control" >
			        </div>
			        <br>
			         <div class="input-group">
			            <span class="input-group-addon">创建者:</span>
			            <input id="authorE" type="text" class="form-control" >
			        </div>
			        <br>	        
			    </div><!-- style input group-->
	            
	            <div class="modal-footer">
	                <button type="button" class="btn btn-default"  data-dismiss="modal" onclick="editSave()">保存信息</button>
	                <!--  <button type="button" class="btn btn-default" data-dismiss="modal" onclick="window.close()">关闭</button>-->
	            </div>
	            <span class="input-group-addon"></span>
	        </div><!-- /.modal-content -->
	    </div><!-- /.modal -->
    </form>
</div>
function edit(){
	var row = $.map($('#table').bootstrapTable('getSelections'),function(row){return row;});//获取勾选的数据的值
	$("#idE").val(row[0].id);
	$("#projectNameE").val(row[0].projectName);
	$("#authorE").val(row[0].author);
}//function的作用是获取勾选的那一行的数据中的数据的值,idE、projectNameE、authorE对应修改弹框上的值
//editSave会将修改的数据post到后台,后台进行数据的查询判断
function editSave(){
    $.ajax({
    		url:"license/edit",
		    type:"POST",
		    data:{
		        	id:$("#idE").val(),	
		    		projectName:$("#projectNameE").val(),
		        	author:$("#authorE").val(),
		        	},
		     dataType:"json"
    }).done(function(data){ 
    	alert(JSON.stringify(data));
    	if(JSON.stringify(data)=="{\"警告\":\"修改成功\"}"){
    		$("#idE").val()
        	$("#projectNameE").val("");
        	$("#authorE").val("");
    	} //收到服务器的返回修改成功的json数据后,清除input中的数据
    }
    );
}

后台接收代码如下,收到的数据将通过updateLicense(entity),调用mapper存入数据库,此处的entity是封装了一个要存的信息的类,类中有set和get方法:

@RequestMapping(value = "/license/edit",method = RequestMethod.POST)
@ResponseBody
public JSONObject editLicense(HttpServletRequest request){

    String id = request.getParameter("id");
    String projectName = request.getParameter("projectName");
    String author = request.getParameter("author");
    LicenseEntity entity = new LicenseEntity();
    entity.setId(id);
    entity.setProjectName(projectName);
    entity.setAuthor(author);
    result = "修改成功".toString();
    licenseService.updateLicense(entity);
    String data = "{\"警告\":\""+result+"\"}";
    //json必须符合格式{"dd":"dd"}
    System.err.println(data);
    JSONObject json = JSONObject.parseObject(data); 
    return json;
}
	
本文中只展示修改的例子,删除也是同样的道理。



阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页