最佳答案
当单选按钮组被修改/单击时,我使用 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 部分。整个页面验证为 XHTML 1.0严格。
<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>
如果任何人有任何想法为什么会发生这种情况,如何解决它,他们将非常感激!