2012-03-12 60 views
0

我想設置複選框值與我用PHP放置的某些屬性。設置複選框值拋出屬性布爾值

這似乎很奇怪,但它是相當簡單的外觀,這是我的PHP:

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

我的想法:選中該複選框,當val爲1,取消選中時,它的0

我揣摩這與Jquery這樣:

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

但它不工作...任何提示?

回答

3

既然你在PHP中的工作已經,這個怎麼樣:

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

那麼你不需要做的東西客戶端......

+0

我測試了你的代碼,有一些語法錯誤沒有?我沒有真正進入PHP,你使用的是什麼功能? – Xavier 2012-03-13 09:25:11

3

你應該使用value,而不是val屬性

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

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

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

+0

克里斯索博列夫斯基有正確的答案(如下圖)。 不起作用。應該是: 2013-04-03 12:49:18

0

,我認爲是更容易做它在PHP:

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

,如果你想在jQuery的嘗試什麼@EvilP有建議。

1

據我所知,你不應該使用.prop('checked',true);只呼叫.prop("checked")應該是足夠的。來源:jquery.com

$(ELEM).prop( 「選中」)真(布爾)將與複選框 狀態改變

我讀過使用.prop("checked",false)例如不好,你應該去與.removeProp()

看一看的.prop文檔:

但是應該有一種方法來解決你的問題。

0

只要你DOM元素使用您喜歡的開發工具正確讀取<input type="checkbox" val="1" class="mes">,我只想做$('input[val=1]').prop('checked', true);

這裏是一個的jsfiddle:http://jsfiddle.net/remibreton/u96pc/