我知道这可能是我正在做的一些愚蠢的错误。我的问题是我想要显示复选框的状态..当点击一个复选框时,如果它被检查,那么它将被显示为已选中,如果它被取消选中,它将取消选中警告..
但我的问题是,无论是选中还是未选中,它始终显示已检查...
这里是我的示例代码,首先是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
}?>
答案 0 :(得分:0)
您正在设置属性已选中,而不是获取属性的value
。检查道具here。您可以使用is(":checked")
复选框查找已检查状态。
更改为
HTML 的
<input type="checkbox" onclick="increase_seat(this);" name="checkbox[]" value="<?php
echo $ i;?&gt;“class =”check“/&gt;
的Javascript
function increase_seat(source)
{
if($(source).is(":checked"))
alert("checked");
else
alert("unchecked");
}
如果你有jQuery 1.7或更高版本,最好使用attr而不是使用prop。
答案 1 :(得分:0)
if( $(this).is(":checked") )
alert("checked");
else
alert("unchecked");
您在代码中所做的是设置,而不是获取该属性。
答案 2 :(得分:0)
尝试:
if($('#TestCheck').prop("checked"))
{
alert("checked");
}
else
{
alert("unchecked");
}
来自文档:
.prop(“checked”)---- true(布尔值)
答案 3 :(得分:0)
使用is(":checked")
属性,如下所示:
$(document).ready(function(){
$('#check').click(function(){
if($(this).is(":checked") === true){
alert("Checked");
} else {
alert("Unchecked");
}
});
});
这是一个有效的JSFiddle
答案 4 :(得分:0)
如果您需要“1”或“0”结果而不是空白,则应使用单选按钮。将两个按钮都设置为未选中,然后通过要求选择一个选项进行验证。