为什么可以't验证我的html表中复选框项上未选中的值吗

Why can't validate unchecked value on checkbox item in my html table?

本文关键字:复选框 html 我的 验证 为什么      更新时间:2023-09-26

我的页面上有一个像这样的html表,其中包括一个复选框项目,我遇到的问题是我想验证复选框项目是否被选中(我的意思是true或false(,但当我验证每个记录中的值时,我无法确定它何时被选中。我只能验证一个已检查的值,但其他值不起作用。

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

   <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');
>                 }
>             }
>         );    }

为什么我不能识别未选中的行???什么是定义中的还是验证中的??

提前谢谢。兄弟

因为您使用以下规则只选择选中复选框:

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

在您的情况下,正确的方法是:

$('input[name=f_mark]').each(function () {
   if ($(this).is(':checked')) {
     alert('checked');
   } else {
     alert('unchecked');
   }
});
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