1

我在 Internet Explorer 中使用 jQuery 在 firefox 和 chrome 中遇到 attr('disabled', 'disabled') 或 prop("disabled", true) 问题,这与预期的一样。有任何想法吗?

我试图在我的 MVC 应用程序的下拉列表中禁用一个项目。它在 IE 中不起作用。

var count = parseInt($("#numCount").val());
    if ((isNaN(count) === false) && (count > 500)) {
        $("#ReportType option[value='Report']").attr("disabled", "disabled");
        $("#ReportType option[value='Report']").prop("disabled", true);

    }
4

3 回答 3

2

这实际上应该适用于 IE 9+,甚至可能是 IE 8。

这可能不起作用的原因是浏览器被迫进入 IE 7 行为:

  1. 一个<meta>标签可能被用来模拟 IE7(这在过去通常是为了让旧网站继续工作)。

  2. 其他东西可能触发了怪癖模式,当这种情况发生时,所有的赌注都被取消了。

开发人员工具 (F12) 可以在这里为您提供帮助。

于 2013-05-15T00:05:29.533 回答
0

尝试这个:

http://jsfiddle.net/ChuJh/2/

$('#ReportType > option[value="Report"]').attr('disabled', 'disabled');

这适用于 IE 10、FF 等。

希望能帮助到你。

于 2013-05-15T00:49:25.270 回答
0

parseInt导致这里问题的可能性很小。

尝试改变:

parseInt($("#numCount").val())

至:

parseInt($("#numCount").val(), 10)

或者:

Number($("#numCount").val())
于 2013-05-15T01:37:24.077 回答