我在JSP中有一个这样的复选框
<input type="checkbox" id="checkBox" name="checkBox"/>
在JS文件中,我写了一个函数来设置一个变量的数据,当复选框被点击
$("checkBox").change(function(){
var checkBox= 0;
if(this.checked) {
checkBox= 1;
} else {
checkBox= 0;
}
})
然后在Java动作类中我想在复选框被点击时做点什么
if(bean.getCheckBox == 1) {//do something}
但是它不起作用。请帮我解决这个问题!由于
var checkBox
是一个客户端JavaScript局部变量,它的值只会在change
事件监听器中可见;你的操作类(我假设)是一个服务器端组件,它将无法访问这个值。
你的动作类应该检查checkBox
请求参数的值,它来自value
属性。
<input type="checkbox" id="checkBox" name="checkBox" value="1" />
然后在你的action类中你会有这样的内容:
if ("1".equals(request.getParameter("checkBox"))) {
...
}
或者,您也可以简单地执行null检查,而不检查任何特定的值。
if (request.getParameter("checkBox") != null) {
...
}
如果您正在使用一些框架bean,您将使用如下所示的内容,这取决于bean的checkBox
变量的数据类型:
if ("1".equals(bean.getCheckBox())) { // String
...
}
// or
if (bean.getCheckBox() != null) { // String or Integer
...
}
// or
if (bean.getCheckBox() == 1) { // int primitive
...
}
要检查的值仍然来自上面的value
属性。