设置复选框值throw属性布尔值

时间:2012-03-12 15:12:37

标签: php jquery html checkbox

我想设置一个复选框值,其中包含我用PHP放置的一些属性。

看起来很奇怪,但看起来很简单,这是我的PHP:

<input type="checkbox" val="'.$key->mes.'" class="mes"/> 

我的想法:当val为1时选中复选框,当它为0时取消选中

我试着用这样的Jquery来解决这个问题:

$('input:checkbox [val=1]').prop('checked', true);

但它不起作用......有什么提示吗?

5 个答案:

答案 0 :(得分:3)

您应该使用value而不是val属性

<input type="checkbox" value="1" />

$('input:checkbox[value="1"]').prop('checked', 'checked');

小提琴:http://jsfiddle.net/kabY3/

答案 1 :(得分:3)

既然你已经在使用PHP了,那么:

"<input type='checkbox' val='". $key->mes . "'" . $key->mes > 0 ? "checked='checked'" : "" .  "/>"

然后你不需要做客户端......

答案 2 :(得分:1)

据我所知,您不应该使用.prop('checked',true);只调用.prop("checked")就足够了。来源:jquery.com

  

$(elem).prop(&#34; checked&#34;)true(布尔值)将随复选框一起更改   状态

我已经读过,使用.prop("checked",false)比较糟糕,你应该选择.removeProp()

查看.prop文档:

但应该有一种方法可以解决你的问题。

答案 3 :(得分:0)

我认为在php中更容易做到:

<?php
$ch="";
if($key->mes==1) $ch=' checked="checked"';
echo '<input type="checkbox" val="'.$key->mes.'" class="mes"'.$ch.'/> '
?>

如果你想在jquery中尝试@EvilP的建议。

答案 4 :(得分:0)

只要您的DOM元素使用您喜爱的开发者工具正确阅读<input type="checkbox" val="1" class="mes">,我就会$('input[val=1]').prop('checked', true);

这是一个jsfiddle:http://jsfiddle.net/remibreton/u96pc/