首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >选择列表文本显示在IE中使用jQuery更改后的旧值

选择列表文本显示在IE中使用jQuery更改后的旧值
EN

Stack Overflow用户
提问于 2013-01-19 02:40:53
回答 2查看 997关注 0票数 0

我有两个下拉列表,一个是类别,一个是子类别。当类别下拉列表发生更改时,子类别下拉列表将使用jQuery/ajax进行更新,以显示新的子类别。它在Chrome中工作得很好,但IE在通过jQuery更新后不会显示新值。奇怪的是,在选择一个新选项后,正确的文本会显示出来,但当我向下拉列表时,它会显示旧的文本。

这就是当类别改变时,我如何清空和重新填充子类别下拉列表的方法:

代码语言:javascript
运行
复制
   $('#testselectsubcat').empty().append(new Option("Pick a subcategory", 0));

   $.each(subcategories, function (index, subcat) {
       $('#testselectsubcat').append(new Option(subcat.name, subcat.id));
   });

编辑:忘记这部分,可能很重要。只有在页面加载后使用jQuery添加下拉框时,才会出现此问题。我使用.append()将类别下拉列表添加到页面,并使用.after()将子类别下拉列表添加到页面。

如何让它在IE中工作?

EN

回答 2

Stack Overflow用户

发布于 2013-01-19 02:47:26

您必须清除子类别下拉列表,如下所示

代码语言:javascript
运行
复制
// C#:
subcategories.Items.Clear();
// and loaded with new data
 ....

// or clear or empty it using jQuery
 $('#subcategories').chilren().remove();
  $('#subcategories').empty();
票数 0
EN

Stack Overflow用户

发布于 2013-01-19 03:12:29

显然是IE doesn't work using the append method with new Option()

您可以尝试添加$('<option/>').text(x).val(y),如下所示:

代码语言:javascript
运行
复制
$('#testselectsubcat').empty().append(
    $('<option/>').val(0).text("Pick a subcategory")
);

$.each(subcategories, function (index, subcat) {
    $('<option/>').val(subcat.id).text(subcat.name).appendTo('#testselectsubcat');
});

对于使用new Option()解决IE问题的其他方法,请使用see here

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

https://stackoverflow.com/questions/14405480

复制
相关文章

相似问题

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