2015-12-03 2 views
0

я успешно использую код удара, чтобы удалить повторяющиеся значения из выпадающего поляСкрыть выпадающие дубликаты, когда первоначально скрытые

$(document).ready(function() { 
var usedNames = {}; 
$("select > option").each(function() { 
    if (usedNames[this.value]) { 
     $(this).remove(); 
    } else { 
     usedNames[this.value] = this.text; 
    } 
    }); 
    }); 

Моей проблема заключается в том, что некоторые из моего падения падения являются условными, так что они не находятся на страницы при запуске кода, они будут отображаться: скрытые и скрытые, а затем в зависимости от предыдущего раскрывающегося списка selcect.

Так как я могу запустить код при появлении выпадающего списка?

+1

Не могли бы вы запустить этот сценарий, где бы ни были выбраны выпадающие списки? –

+0

Да, это то, что я хочу, но я не знаю, как это сделать? – user1681836

+0

Показать код, показывающий выпадающие списки. –

ответ

1

Если у вас нет возможности добавить код, в котором выпадающее меню установлено на видимое, единственным решением может быть установка повторяющегося таймера для постоянной проверки.

var interval = setInterval(function(){ 

    // Check to see if the thing is still hidden 
    if(!$("#id_of_option").is(':hidden')){ 

     clearInterval(interval); // stop checking 

     // Run your other code here to clear out duplicates 

    } 

}, 200); // or some number of milliseconds 
+0

hmmm ... ok thanks – user1681836

+0

Фактически я могу добавить код внутри выпадающего его самого – user1681836

+0

Код, который устанавливает его для отображения? Затем вы должны добавить код, который вы написали выше, в этот момент. –