来源: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社区等你来挑!!