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


Set checkbox value throw attribute boolean value

我想用PHP中的一些属性设置复选框值。

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

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

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

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

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

但它不起作用。。。有什么建议吗?

既然你已经在PHP中工作了,那么这个怎么样:

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

然后你就不需要做客户端的事情了。。。

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

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

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

Fiddle:http://jsfiddle.net/kabY3/

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

$(elem).prop("checked")true(布尔值)将随复选框而更改状态

我读到过使用.prop("checked",false)的例子是不好的,你应该使用.removeProp()

查看.prp文档:

  • http://api.jquery.com/prop/

但是php应该有一种方法来解决您的问题。

我认为在php:中做这件事更容易

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

如果你想在jquery中使用它,试试@EvilP的建议。

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

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