controller层
@RequestMapping("/update")
@ResponseBody
public Object update(Integer testId){
Test_one sel = service.selectId(testId);
return sel;
}
里面有日期格式,格式为:Sat Nov 01 00:00:00 CST 1997,用AJax把查询出来的值回调到HTML页面时,日期格式自动转换成1997-10-31T16:00:00.000Z格式。所以Ajax回调得到的值$("#testDate").val(data.testDate);无法赋值给input的date属性。而HTMl页面的input框中的type="date"的属性它的格式是1997-01-01。需要注意的是系统会把1997-01-01,月日的十位为0的自动省略掉为1997-1-1,这是无法赋值给date的。所以HTML页面需要对日期的格式化
Ajax方法
function select(res) {
var testId = $(res).parent().siblings(".testId").html();
$.ajax({
url:"/Test/update",
data:{
testId:testId
},
success: function(data){
$("#testId").val(data.testId);
$("#testName").val(data.testName);
$("#testAge").val(data.testAge);
//从后端获取到的日期
var time = new Date(data.testDate).toJSON();
var d = new Date(time);
//如果小于9,前面加0
var day = ("0" + d.getDate()).slice(-2);
//如果小于9,前面加0
var month = ("0" + (d.getMonth() + 1)).slice(-2);
//拼接日期
var times=d.getFullYear() + '-' + (month) + '-' + (day);
//把转换的日期赋值给input
$("#testDate").val(times);
},
error:function (data) {
alert("没有该信息");
},
});
}