簡體   English   中英

使用JavaScript從下拉列表中刪除重復項

[英]Removing duplicates from dropdown using javascript

我目前正在使用以下腳本從下拉菜單中刪除重復項,但是現在我需要嘗試刪除除LAST選項之外的所有重復項,以使搜索條件能夠被Solspace的Freeform記住。

有沒有人比我更聰明,知道如何調整腳本以從上一個腳本中刪除所有重復的APART?

// REMOVE DUPLICATES FROM LOCATION DROPDOWN
var optionValues =[];
$('#locationList option').each(function(){
   if($.inArray(this.value, optionValues) >-1){
      $(this).remove()
   }else{
      optionValues.push(this.value);
   }
});

提前致謝,

湯姆

$(document).ready(function() {
  var optionValues = [];
  var lastRemoved = null;
  $('#locationList option').each(function(){
     if($.inArray(this.value, optionValues) >-1){
        $(this).remove();
        // remember the very last removed one
        lastRemoved = $(this);
     }else{
        optionValues.push(this.value);
     }
  });

  // after removing duplicates, add the very last removed one back to the list
  $('#locationList').append(lastRemoved);
});

假設我正確理解了您的問題,這將從列表中刪除所有重復項,但不包括最后一次出現的重復項。 讓我知道是否有幫助!

不確定這是否是您要嘗試的操作:

var optionValues = [];
var optionItems  = $('locationList option');

optionItems.each(function (index) {
    if (index > optionItems.length - 1) {
        return;
    }
    if ($.inArray(this.value, optionValues) > -1) {
        $(this).remove();
    } else {
        optionValues.push(this.value);
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM