在页面上我有两个相同的选项。如果选择选项,则应在每个选择中禁用它。这是我的演示:http://jsfiddle.net/bfmKw/8/
$("select").off('change').on('change', function () {
disableOptions();
});
function disableOptions() {
var $dropdowns = $('select');
$dropdowns.find('option').attr('disabled', false);
$.each($dropdowns, function (i, dropdown) {
var mark = $(dropdown).find('option:selected').attr('mark');
if (mark) {
$dropdowns.find('option[mark="' + mark + '"]:not(:selected)').attr('disabled', true);
}
});
}
但是在Firefox中存在bug或功能。复制步骤: 1)打开选择框并选择选项。更改事件将上升,选项将被禁用。 2)打开相同的选择框,将鼠标悬停在另一个选项上,然后在与选择框位置不同的位置单击两次。变革事件也会升级。 如果相反禁用设置任何其他属性一切正常。可能存在另一种方式如何禁用选项?
答案 0 :(得分:0)
禁用所选选项后仅在firefox中显示此错误行为。正确禁用:
$dropdowns.find('option[mark="' + mark + '"]:not(:selected)').attr('disabled', true);