当单选按钮组被更改/单击时,我使用jQuery来隐藏和显示元素。它在Firefox等浏览器中工作得很好,但在IE6和IE7中,只有当用户点击页面上的其他地方时,该操作才会发生。
更详细地说,当您加载页面时,一切看起来都很好。在Firefox中,如果单击某个单选按钮,则会隐藏一个表行,而立即显示另一个表行。但是,在IE6和IE7中,单击单选按钮,在单击页面上的某个位置之前什么都不会发生。只有到那时,IE才会重新绘制页面,隐藏并显示相关元素。
下面是我使用的jQuery:
$(document).ready(function () {
$(".hiddenOnLoad").hide();
$("#viewByOrg").change(function () {
$(".visibleOnLoad").show();
$(".hiddenOnLoad").hide();
});
$("#viewByProduct").change(function () {
$(".visibleOnLoad").hide();
$(".hiddenOnLoad").show();
});
});
下面是XHTML中受其影响的部分。整个页面都验证为XHTML1.0Strict。
<tr>
<td>View by:</td>
<td>
<p>
<input type="radio" name="viewBy" id="viewByOrg" value="organisation"
checked="checked" />Organisation</p>
<p>
<input type="radio" name="viewBy" id="viewByProduct" value="product" />Product</p>
</td>
</tr>
<tr class="visibleOnLoad">
<td>Organisation:</td>
<td>
<select name="organisation" id="organisation" multiple="multiple" size="10">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
</select>
</td>
</tr>
<tr class="hiddenOnLoad">
<td>Product:</td>
<td>
<select name="product" id="product" multiple="multiple" size="10">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
</select>
</td>
</tr>
如果任何人有任何想法,为什么会发生这种情况,以及如何解决它,他们将非常感谢!
https://stackoverflow.com/questions/208471
复制相似问题