2011-08-08 69 views
1

活生生的例子:http://jsfiddle.net/69naX/1/多用jQuery选择再次

我点击“显示”,接下来点击“一”,“二”等,取消勾选等等。这不工作良好。接下来我点击隐藏。还行吧。

接下来,我再次单击“显示”,然后单击“一个”等 - 这是行不通的。接下来点击“隐藏”,然后点击“显示” - “一个”等这个工程很好。

下一步点击“隐藏”,点击“显示” - 点击“一个”等不起作用。这每两个重复一次。

我该如何解决? .live没有帮助。

回答

5

您在单击显示时定义处理程序。所以当你再次点击它时,处理程序会被定义两次,发生的情况等同于通常点击两次 - 直接选择和取消选择。

在Show上点击三次将会导致通常点击三次(选择 - 取消选择 - 选择)。再次四次不会,等等。

您可以将外部的一个,两个等的点击处理程序移动到外面,以便它们仅定义一次:http://jsfiddle.net/pimvdb/69naX/2/

0
$('#list').show().find('span').hide(); 
var sel = $("#example").val() || []; 
$.each(sel, function(key, value){ 
    $('#'+value).show(); 
}); 

在这里工作:http://jsfiddle.net/69naX/4/