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">
<div class="jf_tanchu">
<div class="jf_tanchutit">${ bussinessNotice.noticeTitle}</div>
<div class="jf_tanchubox">
<div class="jf_tanchubox_right">
公告类型:<v:dcolor code="${ bussinessNotice.noticeType}"/>
发布时间:<fmt:formatDate value="${ bussinessNotice.createDate}" pattern="yyyy-MM-dd"/>
</div>
${bussinessNotice.noticeInfo}
</div>
</div>
<s:if test="bussinessNotice.noticeType=='25'||bussinessNotice.noticeType=='63'||bussinessNotice.noticeType=='64'">
<div>
<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>
</div>
</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());
}
}
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
桃源资源网 Design By www.nqtax.com
暂无“JQuery使用$.ajax和checkbox实现下次不在通知功能”评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。