select元素我有JS是这样的:过滤基于另一个不工作
$(document).ready(function() {
$("#DDL1").change(function() {
var thisValue = $(this).val();
var $optGroups = $("#DDL2 optgroup");
$optGroups.hide();
switch (thisValue) {
case "11":
alert(thisValue);
$optGroups.filter("[label='label1']").show();
break;
}
});
});
基本上,基于第一DDL的选择。我想过滤:第二个..
当我运行这个,thisValue
= 11,这是我想要的。但是$optGroups
仍然会显示所有的可选值。而我只希望显示标签为label1
的optgroup下的值。
任何解释我可能做错了什么?
如果你的'DDL1'是一个'select'元素,那么原因可能是'optgroup'和'option'元素被浏览器以特殊方式处理,并且可能无法'显示'/'通过CSS隐藏它们(jQuery所做的)。我认为解决方案是临时“移除”你不想展示的“optgroup”。 –
@ZoltánTamási好的,除了我想展示的标签之外,还有一种方法可以删除所有其他标签,而不必明确指定所有标签? –