使用jQuery比较分组选择选项

使用jQuery比较分组选择选项,jquery,html,html-select,Jquery,Html,Html Select,我在一个页面上有几个select标记,我正在使用data属性对它们进行分组,以确保可以比较具有相同数据键的标记。在提交时,我想检查组是否没有选择相同的选项值。想象一下,这是一个深度图,你列出了足球四分卫和跑动后卫,你想修改他们在深度图上的位置。我不能让两名四分卫在深度图上都是1。我所需要做的就是提醒用户……嘿,这个位置不能有相同的值,但我不确定如何使用jQuery进行比较以达到该点 四分卫A 1. 2. 四分卫B 1. 2. 背诵 1. 2. 跑背B 1. 2. 我刚刚使用类来标识您的组,而不是

我在一个页面上有几个select标记,我正在使用data属性对它们进行分组,以确保可以比较具有相同数据键的标记。在提交时,我想检查组是否没有选择相同的选项值。想象一下,这是一个深度图,你列出了足球四分卫和跑动后卫,你想修改他们在深度图上的位置。我不能让两名四分卫在深度图上都是1。我所需要做的就是提醒用户……嘿,这个位置不能有相同的值,但我不确定如何使用jQuery进行比较以达到该点

四分卫A 1. 2. 四分卫B 1. 2. 背诵 1. 2. 跑背B 1. 2.
我刚刚使用类来标识您的组,而不是jQuery数据属性

四分卫A 1. 2. 四分卫B 1. 2. 背诵 1. 2. 跑背B 1. 2. 估计 ​

看看这把JS小提琴,我想它能满足你的需要。如果您需要帮助解释代码,请告诉我

我已经设置了一个绑定到evaluate按钮的click事件的例程。如果要添加更多位置,如宽接收器等,则只需将类的名称添加到类数组中。在这里:

$('#eval').click(function() {
    var classes = ['qb','rb'];
    $(classes).each(function(index, el){
        var list = [];
        $('.'+classes[index]).each(function() {
            //alert($(this).val());
            list.push($(this).val());
        });
        list = list.sort();
        for (var i = 0; i < list.length - 1; i++) {
            if (list[i + 1] == list[i]) {
                alert('duplicate ' + classes[index]);
                break;
            }
        }
    });
});​

虽然不一样,但你能不能从相关选择中删除已采取的位置,使其不可供选择,并将其添加回becames available?这对我尝试的工作不起作用。如果你愿意,你也可以给我1up:-~我没有足够的声誉,上面说:-