Javascript IE 8-禁用的选择列表框
我有一个页面,其中有许多大小为“4”的元素。其中一些是残疾的。IE8明智地决定不显示这些列表框的选定项(在其他浏览器中,该页面也可以)。我尝试使用jQuery为它们着色。它似乎在本地起作用。但是当我把它发布到我的开发服务器时,它就停止工作了。这是我使用的jquery:Javascript IE 8-禁用的选择列表框,javascript,jquery,listbox,Javascript,Jquery,Listbox,我有一个页面,其中有许多大小为“4”的元素。其中一些是残疾的。IE8明智地决定不显示这些列表框的选定项(在其他浏览器中,该页面也可以)。我尝试使用jQuery为它们着色。它似乎在本地起作用。但是当我把它发布到我的开发服务器时,它就停止工作了。这是我使用的jquery: $(document).ready(function () { $('select').each(function () { if ($(this).attr('size') != unde
$(document).ready(function () {
$('select').each(function () {
if ($(this).attr('size') != undefined && $(this).attr('size') > 1 && $(this).attr('disabled') == 'disabled') {
$(this).find('option[selected=selected]').each(function () {
$(this).css('background-color', '#15317E');
});
}
});
});
我也尝试了下面几页中的建议,但似乎也不起作用
参考资料:
- (这是一个下拉列表,我仍然尝试了它,它为整个列表框着色,但仍然没有突出显示所选项目-现在我正在尝试更改css以仅为所选选项着色)
谢谢 啊,我终于找到了问题所在。由于某些原因,服务器实例无法识别此jQuery:
$(this).find('option[selected=selected]').each(function () {
...
}
我不知道为什么,因为开发机器和服务器有相同版本的jQuery,所以必须检查一下。
因此,当我将其更改为以下内容时,我的本地服务器和开发服务器都开始突出显示所选项目的颜色
$(document).ready(function () {
$('select').each(function () {
if ($(this).attr('size') != undefined && $(this).attr('size') > 1 && $(this).attr('disabled') == 'disabled') {
$(this).find('option').each(function () {
if ($(this).attr('selected') == 'selected') {
$(this).css('background-color', '#15317E');
}
});
}
});
});
谢谢 Jquery for condition-
$(this).attr('disabled')
将返回布尔值
因此,上述条件语句中要实现的条件为:
$(document).ready(function () {
$('select').each(function () {
if ($(this).attr('size') != undefined && $(this).attr('size') > 1 && $(this).attr('disabled') ) {
$(this).css('background-color', '#15317E');
}
});
});
所选项目也一样
如果所选项目在UI上不可见,则选择框的IE 8 Disabled属性将不显示所选项目。IE 8块滚动条也。假设所选项目位于大小为4的选择框中的第10个位置。所以第10个项目在屏幕上不可见。对于这种情况,建议将禁用的选择框的大小从4更改为0。这将确保在禁用的选择框中仅显示选定的项目。代码如下:
$(document).ready(function() {
$('select').each(function() {
if ($(this).attr('size') != undefined && $(this).attr('size') > 1 && $(this).attr('disabled')) {
$(this).attr('size', 0);
}
});
});
嗯,你想给整个下拉元素上色还是只给禁用的项目上色?它是一个列表框,其中一个项目被选中。如果我在SO链接中使用css,它会为整个选择框着色。我只想给禁用列表框中的选定项上色。谢谢我尝试了几件事,我的代码只在InternetExplorer6,7,8中工作(9未测试,因为没有合适的操作系统可用)。FF3.6.20更改了背景,但未更改为定义的颜色。Safari和Chrome向我展示了不同的行为。顺便说一句,当我把我的测试站点上传到本地服务器时,并没有出现任何问题。@reporter-谢谢你们花时间!我发现了这个问题,并将其作为答案发布。。。