【发布时间】:2012-11-27 21:29:42
【问题描述】:
我有一个表格,里面有两个下拉菜单。 从第一个下拉列表中选择一个值时,将显示第二个下拉列表的值。
为此,我编写了以下函数,该函数在第一个下拉列表的 onchange 事件中被调用:
function dataTypeChanged(selectedValue){
document.getElementById("nodeInputValidation").innerHTML = "";
var rows = $('table.intValidationTable tr');
rows.filter('.rangeTR').css("visibility", "collapse");
rows.filter('.listTR').css("visibility", "collapse");
rows.filter('.textListTR').css("visibility", "collapse");
rows.filter('.dateRangeTR').css("visibility", "collapse");
rows.filter('.dateListTR').css("visibility", "collapse");
var validationTypes = document.getElementById("validationType").options;
document.getElementById("validationType").value = "";
var datatype;
for(var i=0;i<validationTypes.length;i++)
{
datatype = validationTypes[i].value.substring(0,validationTypes[i].value.indexOf("_"));
if(datatype != selectedValue){
$("#validationType option[value=" + validationTypes[i].value + "]").hide();
}else{
$("#validationType option[value=" + validationTypes[i].value + "]").show();
}
}
}
此功能在 Firefox 中运行良好。 但不知何故,它在 IE 8.0 中不起作用。
编辑: 早些时候,我认为这可能是它的原因。但事实并非如此。
var rows = $('table.intValidationTable tr');
rows.filter('.rangeTR').css("visibility", "collapse");
rows.filter('.listTR').css("visibility", "collapse");
rows.filter('.textListTR').css("visibility", "collapse");
rows.filter('.dateRangeTR').css("visibility", "collapse");
rows.filter('.dateListTR').css("visibility", "collapse");
似乎是函数的另一部分。显示/隐藏第二个下拉选项的代码不起作用。当前正在显示所有选项。
你们能帮我解决这个问题吗?
如果需要更多代码,请告诉我。
【问题讨论】:
-
你试过 display: table-row-group 吗?
-
no.. 你能详细说明一下吗?
-
没有任何版本的 Internet Explorer(包括 IE8)支持属性值“继承”或“折叠”。
-
对于 IE,还有什么可以替代“折叠”的吗?我正在使用
collapse,因为我不想为隐藏的行显示保留空间。看起来很丑。 -
@DarkKnightFan 是的,检查我的答案
标签: javascript jquery html internet-explorer css