2011-03-09 91 views
1

繼承人我的審判代碼,這是它認爲是錯誤的。如何用勾選的複選框隱藏所有tr?

$('#findtable').find('[name="scripts[]"]:checked').attr('#removed').hide(); 

其中#findtable是表的ID,#removed是TR

+0

你爲什麼要調用'.attr'? – SLaks 2011-03-09 19:08:01

+0

你可以展示你的HTML代碼的樣本嗎? – mVChr 2011-03-09 19:08:18

+0

看到你正在處理的一些html可能會有所幫助。 – Charlino 2011-03-09 19:08:34

回答

2
$('#findtable').find('input:checkbox:checked').closest('tr').hide(); 

這顯然假定有每行只有一個複選框的ID。您應該對選擇器更具體。可能也是類別名稱

+0

這裏是你的一個小提琴(當你已經回答時,我正在製作):http://jsfiddle.net/2Wvqr/ – mVChr 2011-03-09 19:14:05

+0

@mVChr:哈哈..我只是在創造小提琴。感謝:) – jAndy 2011-03-09 19:18:49

0

我創建的樣本與選擇選中的複選框: 總之,你就可以使用這樣的代碼:

$("form input:checkbox:checked") 

這裏是快速example

2

就像總是使用jQuery,有不止一種方法給貓皮。您可以使用:has()選擇器。 http://api.jquery.com/has-selector/

$('#findtable tr:has(input:checkbox:checked)').hide() 
+0

+1爲一個優雅的解決方案,正是問題所要求的(「隱藏所有tr與選中的複選框」)。 – 2011-03-09 22:03:07