Javascript 如何进行动态不可重复选择

Javascript 如何进行动态不可重复选择,javascript,jquery,html,Javascript,Jquery,Html,我尝试创建动态输入组 我的期望值是 动态选择框[配置中的长度变量参数],带有 非重复选择选项-->我在单击、删除和追加时进行检查 可以单击添加/删除输入组 受var参数限制 所以现在我的实际结果是 不隐藏将是附加上一个select的newselect中的select选项 删除选择无法检查删除后的重复 但是在我点击后一些地方会恢复正常,因为我点击的项目仍然没有更新 所以这里有很长的代码 谢谢收看 var参数=[ “A” ,“B” ,“C” ,“D” ]; $(文档).ready(函数(e){ $

我尝试创建动态输入组

我的期望值是

动态选择框[配置中的长度<代码>变量参数],带有

  • 非重复
    选择选项
    -->我在单击、删除和追加时进行检查
  • 可以单击添加/删除输入组
  • var参数限制
  • 所以现在我的实际结果是

  • 不隐藏将是附加上一个
    select
    的new
    select
    中的select
    选项
  • 删除选择无法检查删除后的重复
  • 但是在我点击后一些地方会恢复正常,因为我点击的项目仍然没有更新

    所以这里有很长的代码 谢谢收看
    var参数=[
    “A”
    ,“B”
    ,“C”
    ,“D”
    ];
    $(文档).ready(函数(e){
    $('div.multiselect')。追加('');
    $('div.multiselect').append('add search parameter');
    $('div.multiselect')。追加('search');
    addSelect();//首先创建
    $('div.multiselect.addlist')。单击(函数(){
    addSelect();
    });
    });
    (函数($){
    var origAppend=$.fn.append;
    $.fn.append=函数(){
    return origAppend.apply(这是参数).trigger(“append”);
    };
    })(jQuery);
    var selectblock=函数(){
    外部变量=$(document.createElement(“div”)).addClass(“输入组”);
    var inside=$(document.createElement(“选择”)).addClass(“自定义选择”)。打开(“单击附加”,选中重复);
    var-selVal=[];
    $(“div.multiselect.selectlist div.input-group”)。每个(函数(){
    selVal.push($(this.find)(“select”).val());
    });
    if(selVal.length==parameter.length){
    警报(“无法添加更多参数”);
    返回;
    }
    对于(变量i=0;i-1){
    option.attr(“disabled”、“disabled”).hide();
    }
    inside.append(选项);
    }
    外部。追加(内部);
    append($(document.createElement(“input”)).attr('Type','Text').addClass('form-control'));
    var delbtn=$(document.createElement(“按钮”)).text(“X”).addClass(“btn btn危险输入组追加dellist”);
    delbtn.单击(函数(){
    $(this.parent().remove();
    检查重复;
    });
    附加(delbtn);
    返回外部;
    };
    函数addSelect(){
    $('div.multiselect.selectlist')。追加(selectblock);
    检查重复;
    }
    var checkRepeat=函数(){
    //log('trigger');
    var-selVal=[];
    $(“div.multiselect.selectlist div.input-group”)。每个(函数(){
    selVal.push($(this.find)(“select”).val());
    });
    $(this).parent().sibles(“div.multiselect.selectlist div.input-group”).find(“select”).find(“option”).removeAttr(“disabled”).show().filter(函数(){
    var a=$(this.parent(“select”).val();
    返回($.inArray(this.value,selVal)>-1)和&(this.value!=a));
    }).attr(“禁用”、“禁用”).hide();
    };
    
    
    
    Update:我感觉到
    var checkRepeat
    可能出现故障。Update:我感觉到
    var checkRepeat
    可能出现故障。