作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
情况:当我们勾选复选框时,会发送一个 post 请求,并且复选框值为 false 我们在验证中将 Model 设置为 true。
问题
但问题是这个 Model 对象也是一个 session 属性,并没有在 jsp 上反射(reflect)这一变化。所以问题是 obj.value 在这两种情况下总是 false ?
<div class="block">
<label class="medium">Attach authority:</label>
<input type="checkbox" value="${Model.noticeDetailsModel.fullAuthority}"
<c:if test="${Model.noticeDetailsModel.fullAuthority}">checked="checked"</c:if>
id="fullAuthority" onchange="javascript: setNoticeDetails(this);"/>
</div>
//set up details
function setNoticeDetails(obj) {
$.post("generateNotice.do", {
value : obj.value,
name : obj.id,
stage : "setNoticeDetails"
});
}
情况 2:当我们勾选该复选框时,在发送第一个请求后,再次发送一个 post 请求,其中复选框值为 false 而不是 true(因为我们在模型对象中将值设置为 true,即“Model”)
最佳答案
由于我看不到 Controller 代码,我假设java端,即接收post请求工作正常
但是:
您的函数setNoticeDetails
发送一个ajax请求,您的代码会忽略该请求的响应,因为您尚未实现成功处理程序。请参阅http://api.jquery.com/jquery.post/更多细节。
因此,因为它是 ajax 请求,所以 html/页面不会重新加载 - 相反,您应该通过 javascript 操作 html - 例如,如果您只想更改复选框的值,请执行以下操作:
function setNoticeDetails(obj) {
$.post("generateNotice.do", {
value : obj.value,
name : obj.id,
stage : "setNoticeDetails",
success: function(data) {
if ( $("#fullAuthority").val() === "true" ){
$("#fullAuthority").val("false");
} else {
$("#fullAuthority").val("true");
}
}
});
}
关于javascript - JSTL 复选框不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24197942/
我是一名优秀的程序员,十分优秀!