工作时遇到的一些问题解决
2017-08-02 10:35
309 查看
<select name="vendorMaintenanceId" class="form-control">
[#list vendormaintenances as vendorMaintenance]
<option value="${vendorMaintenance.id}">${vendorMaintenance.manufacturer}</option>
[/#list]
</select>
后端传递的下拉列表的选中结果,前端将其选中 #后面为select的id
$("#raise option").each(function () {
var txt = $(this).text();
if (data.brand == txt) {
$(this).attr("selected", true);
}
});
ajax级联下拉:当点击第一个下拉列表时触发的事件
$("#brandmaintenanceId").change(function(){
var id=$(this).children('option:selected').val();
$.ajax({
url: "${base}/admin/vehiclemanagment/get_vendor.jhtml",
type: "get",
dataType: "json",
cache: false,
async: false,
data:{"id":id},
success: function(data) {
$("#vendorMaintenceId").find("option").remove();
$("#vehicleMaintenceId").find("option").remove();
$("#vendorMaintenceId").append("<option>请选择</option>");
$("#vehicleMaintenceId").append("<option>请选择</option>");
var result=data.vendorList;
for(var i=0;i<result.length;i++){
$("#vendorMaintenceId").append("<option value='"+result[i].id+"'>"+result[i].name+"</option>");
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
console.info(errorThrown);
}
});
});
年份下拉列表:
<select id="myYear" class="form-control"></select>
//设置年份的选择
var myDate= new Date();
var startYear=myDate.getFullYear()-10;//起始年份
var endYear=myDate.getFullYear()+10;//结束年份
var obj=document.getElementById('myYear')
for (var i=startYear;i<=endYear;i++)
{
obj.options.add(new Option(i,i));
}
obj.options[obj.options.length-11].selected=1;
表单验证
$inputForm.validate({
rules: {
price: {
required: true,
number: true,
minlength: 1
},
displacement: {
required: true,
minlength: 1,
maxlength: 50
},
transmission: {
required: true,
minlength: 1,
maxlength: 50
},
chassis: {
required: true,
minlength: 1,
maxlength: 50,
remote: {
url: "${base}/admin/vehiclemanagment/check_chassis.jhtml",(这里请求后端看该字段是否重复)
cache: false
}
},
responsible: {
required: true,
minlength: 1,
maxlength: 50
},
roleIds: "required"
},
messages: {
chassis: {
remote: "${message("common.validate.exist")}"
}
}
});
如果查询某个有关联的实体时,查询出来的实体不是标准的json就在该实体上加如下注解,第三个参数为set集合名称,如果对应多个多方,就依次往后写
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler","entityVehicleManagments"})
建立一对多实体:一方Person需要将多方写成集合,并在get方法上写
@OneToMany(mappedBy = "person", fetch = FetchType.LAZY)
多方需要将一方写成自己的属性,并在get方法上写
@ManyToOne(fetch = FetchType.LAZY)
通过表单形式给bootstrap做查询条件,先写好表单,表单不需要提交地址,将提交按钮放在表单外边。给包裹表单的div标签一个id,通过它获取表单数据。表单提交按钮代码如下:
<button id="subBtn" type="submit" class="btn btn-primary m-t-md pull-right">检索</button>
通过下面js代码提交点击按钮时,让bootstrap表格刷新。
var $table = $('#listTable'),
$ok = $('#subBtn');
$(function () {
$ok.click(function () {
$table.bootstrapTable('refresh');
});
});
通过下面js代码将表单数据取出,并放入bootstrap表格传参。
function queryParams(params) {
var options = $('#listTable').bootstrapTable('getOptions');
var params ={};
$('#toolbar1').find('input[name]').each(function(){
params[$(this).attr('name')]=$(this).val();
}) ;
params['pageNumber']=options.pageNumber;
params['pageSize']=options.pageSize;
return params;
}
后端带条件的查询,代码如下:
@RequestMapping(value = "/json_list", method = RequestMethod.GET)
public
@ResponseBody
Map<String, Object> jsonList(Pageable pageable, ModelMap model,String name,String referred) {
Map<String, Object> resultMap = new HashMap<String, Object>();
List<Filter> filters = new ArrayList<Filter>();
System.out.print(name);
if(StringUtils.isNotEmpty(name)){
Filter nameFilter = new Filter("name",Filter.Operator.like,'%'+name+'%');
filters.add(nameFilter);
}
if (StringUtils.isNotEmpty(referred)){
Filter referredFilter = new Filter("referred",Filter.Operator.like,'%'+referred+'%');
filters.add(referredFilter);
}
pageable.setFilters(filters);
Page<DataInterface> page = dataInterfaceService.findPage(pageable);
resultMap.put("total", page.getTotal());
resultMap.put("rows", page.getContent());
return resultMap;
}
主要就是在基础的查询全部之下,添加查询的过滤器。
使用bootstraptable的queryParams方法向后台传递参数时,如果后台出现中文乱码,改变tomcat容器的配置即可。
在tomcat的server.xml中
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding ="UTF-8"/>
添加URIEncoding ="UTF-8"即可
animated fadeInRight 在外层的div加上这两个css就会有渐进效果
<script type="text/javascript" src="${base}/resources/admin/js/common.js"></script>
<script type="text/javascript" src="${base}/resources/admin/js/input.js"></script>页面如果需要使用ajax请求,需要导入上面两个js
[#list vendormaintenances as vendorMaintenance]
<option value="${vendorMaintenance.id}">${vendorMaintenance.manufacturer}</option>
[/#list]
</select>
后端传递的下拉列表的选中结果,前端将其选中 #后面为select的id
$("#raise option").each(function () {
var txt = $(this).text();
if (data.brand == txt) {
$(this).attr("selected", true);
}
});
ajax级联下拉:当点击第一个下拉列表时触发的事件
$("#brandmaintenanceId").change(function(){
var id=$(this).children('option:selected').val();
$.ajax({
url: "${base}/admin/vehiclemanagment/get_vendor.jhtml",
type: "get",
dataType: "json",
cache: false,
async: false,
data:{"id":id},
success: function(data) {
$("#vendorMaintenceId").find("option").remove();
$("#vehicleMaintenceId").find("option").remove();
$("#vendorMaintenceId").append("<option>请选择</option>");
$("#vehicleMaintenceId").append("<option>请选择</option>");
var result=data.vendorList;
for(var i=0;i<result.length;i++){
$("#vendorMaintenceId").append("<option value='"+result[i].id+"'>"+result[i].name+"</option>");
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
console.info(errorThrown);
}
});
});
年份下拉列表:
<select id="myYear" class="form-control"></select>
//设置年份的选择
var myDate= new Date();
var startYear=myDate.getFullYear()-10;//起始年份
var endYear=myDate.getFullYear()+10;//结束年份
var obj=document.getElementById('myYear')
for (var i=startYear;i<=endYear;i++)
{
obj.options.add(new Option(i,i));
}
obj.options[obj.options.length-11].selected=1;
表单验证
$inputForm.validate({
rules: {
price: {
required: true,
number: true,
minlength: 1
},
displacement: {
required: true,
minlength: 1,
maxlength: 50
},
transmission: {
required: true,
minlength: 1,
maxlength: 50
},
chassis: {
required: true,
minlength: 1,
maxlength: 50,
remote: {
url: "${base}/admin/vehiclemanagment/check_chassis.jhtml",(这里请求后端看该字段是否重复)
cache: false
}
},
responsible: {
required: true,
minlength: 1,
maxlength: 50
},
roleIds: "required"
},
messages: {
chassis: {
remote: "${message("common.validate.exist")}"
}
}
});
如果查询某个有关联的实体时,查询出来的实体不是标准的json就在该实体上加如下注解,第三个参数为set集合名称,如果对应多个多方,就依次往后写
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler","entityVehicleManagments"})
建立一对多实体:一方Person需要将多方写成集合,并在get方法上写
@OneToMany(mappedBy = "person", fetch = FetchType.LAZY)
多方需要将一方写成自己的属性,并在get方法上写
@ManyToOne(fetch = FetchType.LAZY)
通过表单形式给bootstrap做查询条件,先写好表单,表单不需要提交地址,将提交按钮放在表单外边。给包裹表单的div标签一个id,通过它获取表单数据。表单提交按钮代码如下:
<button id="subBtn" type="submit" class="btn btn-primary m-t-md pull-right">检索</button>
通过下面js代码提交点击按钮时,让bootstrap表格刷新。
var $table = $('#listTable'),
$ok = $('#subBtn');
$(function () {
$ok.click(function () {
$table.bootstrapTable('refresh');
});
});
通过下面js代码将表单数据取出,并放入bootstrap表格传参。
function queryParams(params) {
var options = $('#listTable').bootstrapTable('getOptions');
var params ={};
$('#toolbar1').find('input[name]').each(function(){
params[$(this).attr('name')]=$(this).val();
}) ;
params['pageNumber']=options.pageNumber;
params['pageSize']=options.pageSize;
return params;
}
后端带条件的查询,代码如下:
@RequestMapping(value = "/json_list", method = RequestMethod.GET)
public
@ResponseBody
Map<String, Object> jsonList(Pageable pageable, ModelMap model,String name,String referred) {
Map<String, Object> resultMap = new HashMap<String, Object>();
List<Filter> filters = new ArrayList<Filter>();
System.out.print(name);
if(StringUtils.isNotEmpty(name)){
Filter nameFilter = new Filter("name",Filter.Operator.like,'%'+name+'%');
filters.add(nameFilter);
}
if (StringUtils.isNotEmpty(referred)){
Filter referredFilter = new Filter("referred",Filter.Operator.like,'%'+referred+'%');
filters.add(referredFilter);
}
pageable.setFilters(filters);
Page<DataInterface> page = dataInterfaceService.findPage(pageable);
resultMap.put("total", page.getTotal());
resultMap.put("rows", page.getContent());
return resultMap;
}
主要就是在基础的查询全部之下,添加查询的过滤器。
使用bootstraptable的queryParams方法向后台传递参数时,如果后台出现中文乱码,改变tomcat容器的配置即可。
在tomcat的server.xml中
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding ="UTF-8"/>
添加URIEncoding ="UTF-8"即可
animated fadeInRight 在外层的div加上这两个css就会有渐进效果
<script type="text/javascript" src="${base}/resources/admin/js/common.js"></script>
<script type="text/javascript" src="${base}/resources/admin/js/input.js"></script>页面如果需要使用ajax请求,需要导入上面两个js
相关文章推荐
- 关于工作中遇到的一些问题及解决方法
- Mybatis+SpringMVC+注解事务遇到的一些问题及解决
- Navicat Premium连接Oracle遇到的一些问题和其解决方法
- 安装JDK遇到的一些问题解决
- 把工作中遇到的问题和解决方法记录下来!
- 工作中遇到的问题和解决办法13
- 最近oracle开发中遇到的一些问题及解决办法(二)待续
- 最近oracle开发中遇到的一些问题及解决办法(五)待续
- 安装Loadrunner遇到的一些问题以及解决方法,license,controller,注册表等
- 利用WIN8自带系统还原功能还原系统,遇到的一些问题及解决思路。
- 项目适配iOS9遇到的一些问题及解决办法
- 工作遇到的一些简单的问题
- tomcat,jboss使用中遇到的一些问题的解决
- 工作中碰到的一些问题的解决办法
- 工作中遇到的一些小问题记录
- jquery mobile使用过程中遇到的一些问题及解决方法
- 最近工作中遇到的问题以及解决方法总结
- 学习flask web开发遇到的一些问题及解决方法
- thymeleaf在工作中遇到的问题及解决办法(四)
- swift单节点配置遇到的一些问题和解决办法,希望大家补充