Javascript 根据用户选择/选项可用性切换选择框错误状态

Javascript 根据用户选择/选项可用性切换选择框错误状态,javascript,jquery,backbone.js,Javascript,Jquery,Backbone.js,如果用户根据可用性为1availablessessions复制选择,则应突出显示选择框。我的问题是,如果用户选择不同的选项删除重复,我不确定如何删除突出显示?理想情况下,如果用户重复多次,我希望每次选择都单独删除一个错误?基本上,用户应该能够继续复制,但会被错误突出显示警告 下面是当前处理此逻辑的onSessionSelect方法 onSessionSelect: function(event) { var $currentTarget = $(event.currentTa

如果用户根据可用性为1
availablessessions
复制选择,则应突出显示选择框。我的问题是,如果用户选择不同的选项删除重复,我不确定如何删除突出显示?理想情况下,如果用户重复多次,我希望每次选择都单独删除一个错误?基本上,用户应该能够继续复制,但会被错误突出显示警告

下面是当前处理此逻辑的
onSessionSelect
方法

onSessionSelect: function(event) {

        var $currentTarget  = $(event.currentTarget),
            classId = $currentTarget.val(),
            availableSessions = this.model.get('availableSessions');


        var selectedOption = this.$el.find('.js-sessions-select option[value="'+classId+'"]:selected'),
            len = selectedOption.length;       

        if(len > availableSessions) {
            selectedOption.parent().addClass('error');
        } else {
            selectedOption.parent().removeClass('error');
        }
    }
下面是用于填充每个选择选项的数据示例

var availableClassesData = [{
    "id": 34,
    "name": "Core Evo"
}, {
    "id": 686,
    "name": "Core Body Workout"
}, {
    "id": 870,
    "name": "Boxercise"
}, {
    "id": 1345,
    "name": "Rapid Circuits"
}];

这是演示

正如您所意识到的,您无法在仅更改最后一个选项的上下文中,在所有元素中保持正确的突出显示状态。不要将错误逻辑限制在最后选择的选项上,而是在会话开始时清除所有错误,并编写一些代码突出显示所有重复的选项。

嘿,清除所有错误的问题意味着我将删除所有突出显示,这可能是多个重复,用户可能在不同的项目上重复了这很好(实际上是重点),您的错误突出显示功能应该执行并重新突出显示所有需要突出显示的项目。在执行清除后,我如何执行所有项目并进行正确的突出显示?对不起,我现在很困惑,最基本的方法是:从选项中检索所有值并记下重复值,用这些重复值检查所有选项并突出显示它们。