我想用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/