【发布时间】:2012-11-17 10:35:21
【问题描述】:
我正在尝试在下拉列表中隐藏和显示标签,我最初设法在 Internet Explorer 之外的所有内容中工作。然后我发现将需要隐藏在标签中的选项包装起来解决了 IE 问题。但是我现在在删除它们时遇到了问题,因为我编写的代码也删除了它们所包含的下拉列表。我做错了什么?这是到目前为止的代码:
function GetMonthsForSelectedYear() {
var selectedYear = $("#DropDownListYear option:selected").text(),
currentYear = (new Date()).getFullYear(),
currentMonth = (new Date()).getMonth() + 1;
$("#DropDownListMonth option").each(function() {
if (selectedYear == currentYear) {
var option = $(this).index();
if (option < currentMonth) {
$(this).wrap('<span>').hide();
}
} else {
$(this).unwrap("<span>").show();
}
});
}
$("#DropDownListYear").change(function() {
GetMonthsForSelectedYear();
});
这是在 JSFiddle 中:
谢谢。
【问题讨论】:
-
这是因为在 else 条件下您一定没有在 $(this) 中获得正确的值。你在 if 语句后关闭标签 2 次span>
标签: javascript jquery asp.net jquery-selectors