单位做了个发布确认单的功能,选择checkbox后点击发布按钮使用ajax请求访问服务器修改数据库中字段,修改完成后使用Js方法修改table中对应的内容
在此记录下Js的相关操作
$("#btnNotify").click(function(){
top.$.jBox.confirm("确认发布交易确认单吗?","系统提示",function(v,h,f){
var params=getUpdateStatusParams(notifyStatusPublish);
if(params.length==0){
$.jBox("您没有选择任何内容!");
return;
}
console.log(params);
$.ajax({
url: "${ctx}/xx/x",
data: JSON.stringify(params),
type: "POST",
dataType: "json",
contentType: 'application/json;charset=UTF-8',
success: function(data){
updateStatusStr(notifyStatusPublishStr);
$.jBox("发布成功");
},
error: function(data){
$.jBox("操作失败")
}
})
},{buttonsFocus:1});
top.$('.jbox-body .jboico').css('top','55px');
});
//json拼装
function getUpdateStatusParams(status){
var params=[];
for(var i=0;i<document.getElementsByNames('ids').length;i++){
if(document.getElementsByName('ids')[i].checked){
var no=document.getElementsByName('taserialnos')[i].value;
params.push({taSerialNo:no,notifyStatus:status});
}
}
return params;
}
//js修改页面
function updateStatusStr(str){
for(var i=0;i<document.getElementsByNames('ids').length;i++){
if(document.getElementsByName('ids')[i].checked){
document.getElementById("contentTable").rows[i+1].cells[9].innerHTML=str;
}
}
}
//全选按钮
//全选父节点又.classname的class的input
$('#selectAll').click(function(){
$('.classname input[type=checkbox]').prop('checked',$(this).prop('checked'));
});
html
<th>全选<input type="checkbox" id="selectAll"></th>
<td>
<c:if test="${ not empty ackTransConfirm.transactiondate}">
<input type="checkbox" name="ids" class="ck" id="check" value="${ackTransConfirm.investorname;...}"
</c:if>
<input type="hidden" name="taserialnos" value="${ackTransConfirm.taSerialNo}"/>
</td>
运行时报错415与400
data = JSON.stringify(data); 解决400错误
contentType:’application/json;charset=UTF-8’解决415错误