这篇文章主要介绍了JQuery使用$.ajax和checkbox实现下次不在通知功能,本文给出HTML代码、JS代码、和后端JAVA代码完整示例,需要的朋友可以参考下
XXX平台要实现一个功能,公告弹出页面上使用复选框设置不再通知此类公告。
原理:,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()); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
Atas ialah kandungan terperinci JQuery使用$.ajax和checkbox实现下次不在通知功能. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!