Javascript jquery:.filter().css(“可见性”、“折叠”)不在IE中工作,在FF中工作很好
我有一张桌子,里面有两个下拉菜单。 从第一个下拉列表中选择值时,将显示第二个下拉列表的值 为此,我编写了以下函数,在第一个下拉列表的Javascript jquery:.filter().css(“可见性”、“折叠”)不在IE中工作,在FF中工作很好,javascript,jquery,html,internet-explorer,css,Javascript,Jquery,Html,Internet Explorer,Css,我有一张桌子,里面有两个下拉菜单。 从第一个下拉列表中选择值时,将显示第二个下拉列表的值 为此,我编写了以下函数,在第一个下拉列表的onchange事件中调用该函数: function dataTypeChanged(selectedValue){ document.getElementById("nodeInputValidation").innerHTML = ""; var rows = $('table.intValidationTable tr'); rows.filter('.ra
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();
}
}
}
似乎是函数的另一部分。显示/隐藏第二个下拉列表选项的代码不起作用。当前正在显示所有选项。
你们能帮我吗
如果需要更多代码,请告诉我。可见性:IE中未实现折叠
没有任何版本的Internet Explorer(包括IE8)支持该属性 值“继承”或“折叠” 使用
显示:无代码>取而代之
例如:
rows.filter('.rangeTR').css("display", "none");
看来,visibility:collapse
也可以在IE中使用。我正在使用它,它在IE和Firefox中都能正常工作。除了这两个浏览器之外,我不知道其他浏览器
我已经做了以下工作:
HTML:
``
``
Javascript+Jquery:
var rows=$('table.intValidationTable tr')代码>
var rangeTR=rows.filter('.rangeTR')代码>
var listTR=rows.filter('.listTR')代码>
rangeTR.css(“可见性”、“可见”)代码>
css(“可见性”、“折叠”)代码>
这应该管用
关于我的问题,我想代码的第二部分是错误的。需要检查。是否尝试显示:表格行组?否。。你能详细说明一下吗?没有任何版本的Internet Explorer(包括IE8)支持属性值“继承”或“折叠”。那么对于IE来说,除了“折叠”还有其他选择吗?我正在使用折叠
,因为我不想显示隐藏行的保留空间。看起来很难看。@Darkknowtfan是的,检查我的回答我似乎对可见性:塌陷没有任何问题。根据第二个下拉列表的值动态隐藏/显示行!!编辑答案。你的“选项”标签可能没有被选中是的,我也认为是代码导致了这个问题。我使用的是jquery 1.7.2,IE的哪个版本有问题?到目前为止,我只签入了IE8I,我似乎对可见性:collapse
没有任何问题。根据第二个下拉列表的值动态隐藏/显示行@Darkknowtfan这不是一个问题,只是IE不支持它们。如果您希望所有浏览器都支持您的功能,请使用display:none;,如果只有firefox/chrome,那么可见性:collapse:)@Darkknowtfan那么如果它在IE中工作,那么您做了哪些更改使其工作?我创建了行
,并根据第二个下拉列表的值执行此操作:dateRangeTR.css(“可见性”,“可见”)代码>或dateRangeTR.css(“可见性”、“折叠”)代码>切换显示/隐藏IE和FF中所需的行。所以我想我的实际问题在函数的第二部分,我需要再次检查。填充(隐藏/显示)第二个下拉列表选项的代码。
if(datatype != selectedValue){
$("#validationType option[value=" + validationTypes[i].value + "]").hide();
}else{
$("#validationType option[value=" + validationTypes[i].value + "]").show();
}
$("#validationType option[value='" + validationTypes[i].value + "']")
rows.filter('.rangeTR').css("display", "none");
`<tr class="rangeTR" style="visibility: collapse;">`
`<tr class="listTR" style="visibility: collapse;">`