我想设置一个复选框值,其中包含我用PHP放置的一些属性。
看起来很奇怪,但看起来很简单,这是我的PHP:
<input type="checkbox" val="'.$key->mes.'" class="mes"/>
我的想法:当val为1时选中复选框,当它为0时取消选中
我试着用这样的Jquery来解决这个问题:
$('input:checkbox [val=1]').prop('checked', true);
但它不起作用......有什么提示吗?
答案 0 :(得分:3)
您应该使用value
而不是val
属性
<input type="checkbox" value="1" />
和
$('input:checkbox[value="1"]').prop('checked', 'checked');
答案 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/