2011-08-08 102 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/