当前位置: 首页 > 面试题库 >

动态更改选项时如何解决IE选择问题

羿博延
2023-03-14
问题内容

我有一组选择,所有选择都有相同的选项。然后,我通过过滤器运行这些选项,以便在其他选择中选择的任何选项都不会显示在选择中。请参阅此jsFiddle(在非IE浏览器中)以了解我的意思。基本上,我防止在选择中多次选择同一选项

现在,我所做的事情在IE中有问题。在IE中打开小提琴(我只在IE9中尝试过,但是我猜以前的版本有相同的问题)。将最后一个选择更改为AAA。请注意,其他三个选择如何改变了它们的显示。它们的模型没有更改,但是当更改选项时,IE会以某种方式窒息。

我的问题是首先,我总体上是否对该功能做错了?相同的代码完全可以满足我在Chrome和FF中的需求,但是我在做我不应该做的事情吗?第二,如何在IE中解决这个问题?我尝试了一些超时操作,这些超时操作会清除并重新设置模型,但是明显的事情发生了。我想知道是否有一个好的,干净的,低影响的解决方法。

任何帮助将非常感激。谢谢。

-更新-

Angular本身已使用以下ASRanjan解决方案在1.3.3版中对此进行了修复。参见1.3.3的新提琴:http
:
//jsfiddle.net/m2ytyapv/

//dummy code so I can post the edit

问题答案:

我终于想出了适合我需要的解决方案。基本上,似乎正在发生的事情是所选索引处的选项文本指向该位置以前的旧字符串。我相信更改此文本会更新字符串和/或引用。我做了这样的事情:

angular.forEach($("select"), function (currSelect) {
     currSelect.options[currSelect.selectedIndex].text += " ";
});

这是更新的小提琴:http :
//jsfiddle.net/H48sP/35/

在我的应用程序中,我有一个指令来选择这些元素,所以我这样做element.find("select")不是$("select")在限制元素选择的范围。文本被强制刷新,因此在所有摘要周期运行后,其将正确显示。

如果您遇到了同样的问题,则可能需要$timeout在小提琴中添加一个赞,并且/或者如果以后出现问题,则可能需要稍后删除添加到选项文本中的多余空间。



 类似资料:
  • 问题内容: 我正在尝试设置选择选项下拉列表的样式。是否可以使选项的字体大小与默认值不同?例如,默认值: 尺寸为7pt;和其中一种选择, 尺寸为13pt。 这是我的下拉列表: 不幸的是,它仅适用于Firefox。可能其他浏览器不支持元素样式吗? 我测试过的浏览器: Chrome:版本27.0.1453.116 m IE:10 的Firefox:22.0 问题答案: 将CSS类添加到标签中以对其进行样

  • 我在选择元素的更改事件上绑定了一个事件: 当变更事件发生时,我如何访问被选中的元素?

  • 我正在尝试在选择选项中更改选择的颜色。我试图这样做: 但它不起作用。这只适用于简单文本,不适用于选项。有什么方法可以改变选择的颜色吗?我不需要更改所选选项的背景。我需要改变选择的颜色。

  • 问题内容: 我知道这个问题已经被问过很多次了,但是我已经尝试了好几个小时,却没有任何效果,我是php和ajax的新手,所以,我可能会遗漏一个我不知道的小东西,我想要在这里实现的目的是,我希望用户选择一个食物组,然后基于该组显示配料表。 我单独测试了process.php文件,它运行良好,还测试了脚本,发生了什么事,当我注释掉并键入alert(parent)时,从$ .ajax开头的行不起作用了,我

  • 我已经创建了一个选择。但是我不知道如何在选项区域中将蓝色边框和悬停背景更改为另一种颜色…… 你们有适合我的解决方案吗? 我的代码:

  • 问题内容: 我很难理解如何避免在jpa或hibernate状态下进行n + 1选择。 从我阅读的内容来看,有一个“ left join fetch”,但是我不确定它是否仍然适用于多个列表(oneToMany)。 有人可以给我解释一下,还是给我一个带有清晰完整说明的链接? 很抱歉,如果这是一个菜鸟问题,但我找不到关于此问题的真正清晰的文章或文档。 谢谢 问题答案: 除了联接之外,您还可以使用子选择。