我的jsp中的复选框定义为:
<td class="text">
<html:checkbox styleClass="onGoing" property="user.onGoing" onclick="hideInfo();" />
On Going
</td>
在我的js文件中:
function hideInfo() {
if ($("[name='user.onGoing']").is(':checked'))
{
alert('checked');
}
else
{
alert('unchecked');
}
}
但它始终显示/输入为已选中。
我甚至尝试过测试
if ($('user.onGoing').is(':checked')) {
.. .. .
}
但这不起作用。当我使用开发人员工具时,它几乎就像dom没有更新一样。如何获取复选框的正确值?
答案 0 :(得分:2)
请务必避免使用内联JS并使用change
事件代替click
:
<td class="text">
<html:checkbox styleClass="onGoing" property="user.onGoing" />
On Going
</td>
和JS:
$(':checkbox.onGoing').on('change', function() {
if( this.checked ) {
alert('checked');
} else {
alert('unchecked');
}
});
答案 1 :(得分:0)
如果使用jquery
,请使用以下代码段获取复选框的值 <html:checkbox styleClass="onGoing" property="user.onGoing" onclick="hideInfo(this)" />
$("#check-demo").click(function(){
if($(this).is(":checked")) {
console.log($(this).val());
} else {
console.log("false value");
}
});
或者如果您想使用纯JavaScript,请使用以下代码
function hideInfo(element){
console.log(element.value);
}
答案 2 :(得分:0)
这似乎对我有用
<input type="checkbox" onclick="isChkChecked(this);"/>
function isChkChecked(elm) {
console.log($(elm).is(':checked'));
}