我先重复一下你的要求:从数据库中获得一共要显示多少checkbox,再从数据库中获得另一个数据集来确定那些checkbox是要被打钩的。假定:你的
<input type="checkbox" name="idplace[]" value=" <?=$rs[$i][idplace]?>" id=" <?=$rs[$i][idplace]?>">
中的value=后面的$rs[$i][idplace]的值和你
$array=explode(",",fixidstr($result['idplace']));
中的值是对应的,那么代码可以一次完成(手边没有PHP编辑器,写个伪代码):先取出$array<input type="checkbox" name="idplace[]" value=" <?=$rs[$i][idplace]?>" id=" <?=$rs[$i][idplace]?>" checked="<?php if $rs[$i][idplace] is in $array echo 'true' else echo 'false' ?>">应该就可以了。你需要再补充一下HTML的知识……
<input type="checkbox" name="idplace[]" value=" <?=$rs[$i][idplace]?>" id=" <?=$rs[$i][idplace]?>">
中的value=后面的$rs[$i][idplace]的值和你
$array=explode(",",fixidstr($result['idplace']));
中的值是对应的,那么代码可以一次完成(手边没有PHP编辑器,写个伪代码):先取出$array<input type="checkbox" name="idplace[]" value=" <?=$rs[$i][idplace]?>" id=" <?=$rs[$i][idplace]?>" checked="<?php if $rs[$i][idplace] is in $array echo 'true' else echo 'false' ?>">应该就可以了。你需要再补充一下HTML的知识……
<table>
<tr>
<td nowrap bgcolor="#f2f2f2">显示位置: </td>
<td>
<div id='divPlace'>
<input type="checkbox" name="idplace[]" value="11" id="1">1
<input type="checkbox" name="idplace[]" value="31" id="1">31
<input type="checkbox" name="idplace[]" value="41" id="1">41
</div>
</td>
</tr>
</table>
<?php
//这是你数据库的串
$value = "11,41";
?>
<script language='javascript'>
//javascript必须要放到传过来的串和<input checkbox的这个下面
var strSearch = "<?=$value?>";
var arrSearch = strSearch.split(",");
var divPlace = document.getElementById('divPlace');
alert(divPlace.childNodes.length);
for(var i=0; i< divPlace.childNodes.length; i++)
{
if(divPlace.childNodes[i].nodeName == "INPUT")
{
divPlace.childNodes[i].checked = searchValue(divPlace.childNodes[i].value, arrSearch);
}
}
function searchValue(search, arraySearch)
{
flag = false;
for(var i=0;i< arrSearch.length; i++)
{
if(search == arrSearch[i])
flag = true;
}
return flag;
}
</script>