2015-12-03 38 views
0

我成功地用一击代码从下拉删除重复值向下场隐藏下拉式两份时,原本隐藏

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

我的问题是,一些我的下拉菜单中是有条件的,所以他们不上当代码触发时,它们被设置为显示:隐藏,并且输入隐藏,然后根据之前的下拉选择显示它们。

那么,当下拉菜单出现时我该如何触发代码?

+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 ...好的谢谢 – user1681836

+0

其实我可以在代码里面添加下拉它自己 – user1681836

+0

将代码设置为显示?然后你应该添加上面写的代码。 –