`

checkbox加onClick事件,ajax异步请求后台,$.ajax

 
阅读更多

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}"/>&nbsp;&nbsp;&nbsp;&nbsp;
		发布时间:<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());
	}
}
 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics