如图,如何用js控制“已选区域”不出现重复的?

每次点“添加”按钮,就会在“已选区域”添加上对应的按钮(button),如何用js控制“已选区域”不出现重复的?
这是下面已选区域的代码

var num=0;
        var id_num_0=0;
        var id_num_1=1
        var yxqy_arr;
         //添加    
        $("#search").click(function(){
            if(num>4){
                alert('最多可选5个');
                return false;
                
            }
            
            var val_value = $("#jiedao option:selected").val();
            var val_text = $("#jiedao option:selected").text();
            if(val_value==-1){
                alert("请选择区域");
                return false;
                
            }
            $("#blank_1").before("<input type='button' id ='"+id_num_0+"' name='service_area'  class='yixuanquyu_1' value='"+val_text+"'>"
                    +"<input id ='"+id_num_1+"' type='hidden' name='service_area'  class='yixuanquyu_1' value='"+val_value+"'>");
            id_num_0=id_num_0+2;
            id_num_1=id_num_1+2;
            num=num+1;
        });

clipboard.png

阅读 2k
2 个回答

重点就是 array push 以后,unique 操作一下。
以下是其中一种做法:

function onlyUnique(value, index, self) { 
    return self.indexOf(value) === index;
}

// usage example:
var a = ['a', 1, 'a', 2, '1'];
var unique = a.filter( onlyUnique ); // returns ['a', 1, 2, '1']

你把服务区域和已选区域想象成两个数组,点击添加的时候,从服务区域里删除一条数据,相应的,已选区域中增加一条数据不就得了。或者已选区域的数组在push数据前,挨个检查下是否重复也行。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题