首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >让jQuery识别IE中的.change()

让jQuery识别IE中的.change()
EN

Stack Overflow用户
提问于 2008-10-16 13:08:50
回答 18查看 93.9K关注 0票数 131

当单选按钮组被更改/单击时,我使用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>

如果任何人有任何想法,为什么会发生这种情况,以及如何解决它,他们将非常感谢!

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/208471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档