为什么不能在我的html表中的复选框项上验证未选中的值?

时间:2014-05-17 22:10:10

标签: javascript jquery html

我在我的页面上有一个像这样的html表,女巫包含一个复选框项,我得到的问题是我想验证复选框项是否被选中(我的意思是真或假),但是当我验证每个记录中的值,我在取消选中时无法识别。我可以验证的只是一个选中的值,但是其他功能无效。

这是我的表格的片段,我在其中定义了复选框:

   <tr>
   <td><input type="checkbox" name="f_mark" value="true"></td>
   </tr>

在这里我有一个功能,我想验证它是否检查:

> function hiderow() {
>        $("input[name=f_mark]:checked").each(
>             function () {
>                 var marc = $(this).val();
>                 if (marc == 'true') {
>                   alert('checked value');
>                 } else {
>                   alert('unchecked value');
>                 }
>             }
>         );    }

为什么我无法识别未检查的行??? 是定义或验证的东西??

提前谢谢。 SIB

2 个答案:

答案 0 :(得分:0)

由于您只使用此规则选择已选中复选框:

$("input[name=f_mark]:checked")

正确的方法是:

$('input[name=f_mark]').each(function () {
   if ($(this).is(':checked')) {
     alert('checked');
   } else {
     alert('unchecked');
   }
});

答案 1 :(得分:0)

function hiderow() {
    $("input[name=f_mark]").each(function() {
        if ($(this)[0].checked) {
            alert('checked value');
        } else {
            alert('unchecked value');
        }
    });
}

注意:

  • 从选择器
  • 中删除:checked
  • .val()返回复选框value属性,而不是checked属性
  • 在if语句
  • 中将.val() == 'true'替换为[0].checked