需求:
如图,用easyui-switchbutton实现开关的功能:
代码
1.新增(以json串的方式向后台传递数据)
<div class="form-group">
<label class="col-sm-4 control-label">是否数据加密</label>
<div class="col-sm-6" style="padding-top:7px;">
<span>
<input class="easyui-switchbutton" id="isPass" name="isPass" data-options="onText:'开',offText:'关'">
</span>
</div>
</div>
$(document).ready(function(){
//提交执行按钮
$('#addTable').click(
function(){
var status= $("#isPass").switchbutton("options").checked;
//获取参数
var param = {};
param.isPass = status;
。。。。。。
$.ajax({
type:"POST",
url: '${basePath}/dts/saveDTS',
data: param,
dataType:"json",
onSubmit: function (){
showPageShade();//当提交时候,显示遮罩层
return true;
},
success: function(req){
。。。
},
error:function () {
。。。
}
});
}
);
});
public class BdpDtsPlanPo implements Serializable {
private Integer isPass;
public Integer getIsPass() {
return isPass;
}
public void setIsPass(Integer isPass) {
this.isPass = isPass;
}
}
@RequestMapping("saveDTS")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
public Object saveDTS(HttpServletRequest request) {
Map<String, Object> params = super.paramsToMap(request);
String isPass = String.valueOf(params.get("isPass"));
BdpDtsPlanPo bdpDtsPlanPo = new BdpDtsPlanPo();
。。。
bdpDtsPlanPo.setIsPass( "true".equals(isPass) ? 1 : 0);
bdpDtsService.insertBdpDtsPlanPo(bdpDtsPlanPo);
}
2.修改(以json串的方式向后台传递数据)
<div class="form-group">
<label class="col-sm-4 control-label">是否数据加密</label>
<div class="col-sm-6" style="padding-top:7px;">
<span>
<input class="easyui-switchbutton" id="isPass" name="isPass" value="${bdpDtsPlanPo.isPass}" <#if bdpDtsPlanPo.isPass==1>checked</#if> data-options="onText:'开',offText:'关'">
</span>
</div>
</div>
$(document).ready(function(){
//提交执行按钮
$('#addTable').click(
function(){
//获取参数
var param = {};
var status= $("#isPass").switchbutton("options").checked;
if(status){
param.isPass = 1;
}else{
param.isPass = 0;
}
。。。。。。
$.ajax({
type:"POST",
url: '${basePath}/dts/updateDTS',
data: param,
dataType:"json",
onSubmit: function (){
showPageShade();//当提交时候,显示遮罩层
return true;
},
success: function(req){
。。。
},
error:function () {
。。。
}
});
}
);
});
3. 修改(以表单提交的方式传值,后端用对象接收)
easyui-switchbutton开关如果是开启的,传到后台的值就是“on”,如果是关闭的就是null,据此在后端设置字段值。
<div class="form-group">
<label for="columnAuth" class="col-sm-2 control-label no-padding-right">是否脱敏</label>
<div class="col-sm-4">
<input class="easyui-switchbutton" id="columnAuth" name="columnAuth" data-options="onText:'开',offText:'关'" <#if scopePo.columnAuth == true>checked="checked"</#if>>
</div>
</div>
function submitForm() {
var form = 'form1';
var url = '${basePath}/admin/martManager/updateInfo';
$("#" + form).ajaxSubmit({
url: url,
dataType: "json",
beforeSubmit: function (formData, jqForm, options) {
showPageShade();//当提交时候,显示遮罩层
if (!formValidate()) {//页面验证
hiddenPageShade();//未成功,隐藏遮罩层
return false;
}
return true;
},
success: function (result) {
hiddenPageShade();//成功后,隐藏遮罩层
if (result.header.flag) {
closeWindowRefrresh("基本信息修改");
} else {
Notify(result.header.msg, 'top-right', '3000', 'danger', 'fa-bolt', true);
}
}
});
}
public class BdpHiveScopePo implements Serializable {
private Boolean columnAuth;
public Boolean getColumnAuth() {
return columnAuth;
}
public void setColumnAuth(Boolean columnAuth) {
this.columnAuth = columnAuth;
}
}
@RequestMapping(value = "updateInfo", produces = "text/html;charset=UTF-8")
@ResponseBody
public Object updateInfo(BdpHiveScopePo po, HttpServletRequest request){
try {
Map<String, Object> params = this.paramsToMap(request);
if("on".equals(params.get("columnAuth"))){
po.setColumnAuth(true);
}else{
po.setColumnAuth(false);
}
bdmHiveScopeService.update(po);
return success("修改成功");
}catch (Exception e){
logger.error("修改基础信息异常",e);
return error("500", "修改失败");
}
}