2012-03-12 3 views
0

Я хотел бы установить значение флажка с некоторым атрибутом, который я поставил с PHP.Установить флажок value throw attribute boolean value

Это кажется странным, но это довольно простой вид, вот мой PHP:

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

Моя идея: установить флажок, когда Допустимы 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

3

вы должны использовать value и не val атрибут

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

и

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

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

+0

Крис Соболевский имеет правильный ответ (ниже). не работает. Должно быть:

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

$ (элем) .prop ("проверено") верно (Boolean) изменится с флажком государственного

Я читал, что с помощью .prop("checked",false), например, это плохо и вы должны идти с .removeProp()

Посмотрите документацию .prop:

Но должен быть способ php, чтобы решить вашу проблему.

0

Пока ваш DOM элемент правильно читает <input type="checkbox" val="1" class="mes">, используя ваши любимые инструменты для разработчиков, я бы просто сделать $('input[val=1]').prop('checked', true);

Вот jsfiddle: http://jsfiddle.net/remibreton/u96pc/