发现很久没写博客了,这一段时间不是在写文档就是准备原型图 ,昨天有个需求 :增加 的时候想知道是否有类似的内容有的话给出一个提示。(我的需求是验证类似地址,先截取到号之前的地址 判断有无类似地址 如果没有就截取到弄之前的 再者没有就模糊查询整个地址)
作为一名逻辑不太好的菜鸟媛 写出来的一段代码 有好的建议请立马私信我!!感谢! 因为我知道我代码写的不咋地,很想取得进步,哪怕是一点点,嘻嘻。 贴出了一个demo,希望被看到,提出一些意见,或者谈谈人生也好。哈哈哈
贴jsp代码:
<li>
<label>地址名称:</label>
<input type="text" class="" name="address" id="address" value="${row.address}" />
<div class="" type="text" style="color: red;">*</div><span id="addContent" style="color: red;"></span>
</li>
想达到效果:光标离开则提示文字
贴js代码:
$('#address').mouseleave(function() { //光标移出文本框的时候
var addressname=$('#address').val(); //获取到文本框的值
$.ajax({
url: '../addressConstruction/sameAddress',
dataType: "text",
data: {'addressname': addressname},
contentType: "application/x-www-form-urlencoded; charset=utf-8",
async: false,
type: 'post',
success: function (data) {
$('#addContent').html(data);
},
error: function (data) {
console.log(data);
}
});
});
ajax无刷新请求到后台 controller中:
贴controller代码:
/**
* 验证类似地址
* @Author
* @Date
**/
@ResponseBody
@RequestMapping(value = "/sameAddress",method = RequestMethod.POST)
public String sameAddress(@RequestParam(value = "addressname") String addressname,HttpServletRequest request){
String flag = addressConstructionService.sameAddress(addressname);
return flag;
}
service层代码:
/**
* 查询是否有相似地址(增加、修改)
* @return
*/
public String sameAddress(String addressname){
String flag=null;//地址相似
if(addressname.indexOf("号")!=-1){
String splitName=addressname.substring(0,addressname.indexOf("号"));//包含号就只截取号之前的地址
if(addressConstructionRepository.findByAddressLike(splitName).size()>0){ //存在地址相似情况
flag="存在相似地址";
}else{
String splitName1=addressname.substring(0,addressname.indexOf("弄"));//包含号就只截取弄之前的地址
if(addressConstructionRepository.findByAddressLike(splitName1).size()>0){ //存在地址相似情况
flag="存在相似地址";
}else{
if(addressConstructionRepository.findByAddressLike(addressname).size()>0){ //存在地址相似情况
flag="存在相似地址";
}
}
}
}else if(addressname.indexOf("弄")!=-1){
String splitName2=addressname.substring(0,addressname.indexOf("弄"));//包含号就只截取弄之前的地址
if(addressConstructionRepository.findByAddressLike(splitName2).size()>0){ //存在地址相似情况
flag="存在相似地址";
}else{
if(addressConstructionRepository.findByAddressLike(addressname).size()>0){ //存在地址相似情况
flag="存在相似地址";
}
}
}else{
if(addressConstructionRepository.findByAddressLike(addressname).size()>0){ //存在地址相似情况
flag="存在相似地址";
}
}
return flag;
}
repository层 用的是jpa(用里面的规则)写的 方法意思是模糊查询地址返回集合,不用jpa的直接写sql就行
/**
* 模糊查地址
* @param address
* @return
*/
List<AddressConstruction> findByAddressLike(String address);
效果展示:
效果就是:当客户操作触发光标离开事件,这里用的mouseleave :只有在鼠标离开被选元素时触发
分享一个网址: https://www.jianshu.com/p/a32f4142f21b (内容是很多元素触发的使用)
在工作中每天都会写总结,知道自己经历和能力都还不够,但是也很想得到提升,希望以后,不要怕不要怂不要迷茫。加油