1

我知道这可能是我正在做的一些愚蠢的错误。我的问题是我想显示复选框的状态。单击复选框时,如果它被选中,那么它将显示为选中状态,如果它未被选中,它将警告未选中。

但我的问题是,无论是选中还是未选中,它总是显示选中...

这是我的示例代码,首先是 jquery 或 javascript

function increase_seat()
{
   if($(this).prop("checked", true))
        alert("checked");
   else if($(this).prop("checked", false))
        alert("unchecked");
}

和 php/html 脚本是

for($i=1;$i<=10;$i++)
        {?>

              <input type="checkbox" name="checkbox[]" value="<?php echo $i;?>" class="check" />
       <?php
        }?>
4

5 回答 5

0

您正在设置属性检查而不是获取value属性。在这里检查道具。您可以使用is(":checked")复选框来查找检查状态。

改成

html

<input type="checkbox" onclick="increase_seat(this);" name="checkbox[]" value="<?php 

echo $i;?>" class="check" />

Javascript

function increase_seat(source)
{
   if($(source).is(":checked"))
          alert("checked");
    else 
          alert("unchecked");
}

如果您有 jQuery 1.7 或更高版本,最好使用 attr 而不是使用 prop。

于 2012-12-24T06:17:13.287 回答
0

用这个:

if( $(this).is(":checked") )
    alert("checked");
else
    alert("unchecked");

您在代码中所做的是设置而不是获取属性。

于 2012-12-24T06:18:25.753 回答
0

尝试:

if($('#TestCheck').prop("checked"))
{
        alert("checked");
}
else 
{
       alert("unchecked");
}

演示小提琴

从文档:

.prop("checked") ---- true (布尔值)

于 2012-12-24T06:29:12.583 回答
0

is(":checked")按如下方式使用该属性:

示例代码

$(document).ready(function(){
    $('#check').click(function(){
    if($(this).is(":checked") === true){
        alert("Checked");
    } else {
        alert("Unchecked");
    }
    });
});​

工作小提琴

这是一个有效的JSFiddle

于 2012-12-24T06:34:42.367 回答
0

如果您需要“1”或“0”结果而不是空白,您应该使用单选按钮。将两个按钮都设置为未选择,然后通过要求选择一个选项来进行验证。

于 2012-12-24T06:39:38.350 回答