Почему бы просто:
function checkAll()
{
for(var i=0; i < <?php echo $num; ?>; i++)
{
document.demo.message[i].checked = true;
}
}
Если вы хотите переключать текущие значения:
function toggleAll()
{
for(var i=0; i < <?php echo $num; ?>; i++)
{
document.demo.message[i].checked = !document.demo.message[i].checked;
}
}
Однако на практике это не кажется очень полезным (если A проверен, а B и C не проверены, как часто вы хотите, чтобы A не проверял, а B и C проверялись?) Я бы просто использовал кнопки «Выбрать все» и «Отменить выбор всех».
Я удалил параметр, изменил i, чтобы начать с 0 (0-indexed), и просто установил флажок безоговорочно. До того, как вы сделали это задом наперед, он проверит, проверено ли это, и наоборот. И вам не нужно устанавливать значение false в методе checkAll.
Также нажмите кнопку «Выбрать все»:
echo "<input onclick='checkAll(1);' type='button' name='master' value='Select All' /><br/>";