来源:http://www.ido321.com/1189.html
昨天,在项目中碰到了option显示异常的原因,截图例如以下:
Firefox中用css控制之后效果
chrome和IE中css不奏效
代码:
<div class="controls">
<select name="ksname" id="ksname">
<?php
while (!!$rowDK = fetchAssoc($resultDK))
{
?>
<optgroup label="<?php echo $rowDK['name']; ?>">
<?php
$resultKS = queryDB("select table_dake.id,table_keshi.sid,table_keshi.name from table_dake,table_keshi
where table_dake.name='{$rowDK['name']}' and table_keshi.sid=table_dake.id");
while(!!$rowKS = fetchAssoc($resultKS))
{
?
>
<option value ="<?php echo $rowKS['name']; ?>"><?
php echo $rowKS['name']; ?></option>
<?php
</optgroup>
}
}
free($resultDK);
free($resultKS);
?>
</select>
</div>
调试了非常久,在网上也找了方法。终于无果,仅仅要去请教大牛了。
大牛建议我去查看一下源码。是不是样式改变了?这段代码的select部分没有不论什么样式。怎么会多?看了源码之后,样式的确没有多,可是每一个option后面多了一个</optgroup>.又回头看了代码。才明确,我把</optgroup>写在了内循环中,依照我的逻辑,本应该放在外循环。调整之后。一切正常。
所以,调试代码又get了一招:查看原代码
下一篇:90个IT社区等你来挑。!