您的当前位置:首页正文

JQuery使用$.ajax和checkbox实现下次不在通知功能

2020-11-27 来源:我们爱旅游

这篇文章主要介绍了JQuery使用$.ajax和checkbox实现下次不在通知功能,本文给出HTML代码、JS代码、和后端JAVA代码完整示例,需要的朋友可以参考下

XXX平台要实现一个功能,公告弹出页面上使用复选框设置不再通知此类公告。

原理:<input type="checkbox" id="isSelect" name="isSelect" value="10" onclick="javascript:noTips();"/>,checkbox选中后提交表单,那么struts2的Action中isSelect就为'10',不选中提交表单isSelect为null。

1.jsp页面

<form id="form1"> 
<p class="jf_tanchu"> 
 <p class="jf_tanchutit">${ bussinessNotice.noticeTitle}</p> 
 <p class="jf_tanchubox"> 
 <p class="jf_tanchubox_right"> 
 公告类型:<v:dcolor code="${ bussinessNotice.noticeType}"/> 
 发布时间:<fmt:formatDate value="${ bussinessNotice.createDate}" pattern="yyyy-MM-dd"/> 
 </p> 
 ${bussinessNotice.noticeInfo} 
 </p> 
</p> 
<s:if test="bussinessNotice.noticeType=='25'||bussinessNotice.noticeType=='63'||bussinessNotice.noticeType=='64'"> 
<p> 
 <input type="hidden" name="noticeType" value="${bussinessNotice.noticeType}"/> 
 <input type="checkbox" id="isSelect" name="isSelect" value="${bussinessNotice.noticeType}" onclick="javascript:noTips();"/> 
 <label for="isSelect">不再通知此类公告</label> 
</p> 
</s:if> 
</form>

2.js代码

 function noTips(){ 
 var formParam = $("#form1").serialize();//序列化表格内容为字符串 
 $.ajax({ 
 type:'post', 
 url:'Notice_noTipsNotice', 
 data:formParam, 
 cache:false, 
 dataType:'json', 
 success:function(data){ 
 } 
 }); 
}

3.NoticeAction代码

/** 
 * checkbox不提示公告,需要修改TBussinessSet中的屏蔽状态,ajax异步请求 
 */ 
public void noTipsNotice(){ 
 try { 
 PrintWriter out = this.getResponse().getWriter(); 
 
 bussinessSet = BussinessSetService.queryById(getUserId()); 
 String state = ""; 
 if(isSelect==null){//noticeType==null没有选中checkbox 
 state = "11"; 
 } 
 else{ 
 state = "10"; 
 } 
 if("25".equals(noticeType)){ 
 bussinessSet.setSaleBack(state); 
 } 
 else if("63".equals(noticeType)){ 
 bussinessSet.setRemittanceBank(state); 
 } 
 else if("64".equals(noticeType)){ 
 bussinessSet.setRemittanceOnline(state); 
 } 
 BussinessSetService.update(bussinessSet); 
 
 out.print(""); 
 } catch (Exception e) { 
 log.error(e.fillInStackTrace()); 
 } 
}