2010-06-22 28 views
1

我在我正在開發的應用程序中使用動態的基於網格的表格。jQuery選擇/取消選擇最接近的表內的所有和個別複選框

下面的代碼工作,但我需要添加到它一點點功能:

當前腳本執行以下操作:

  1. 腳本看到第一個複選框。
  2. 單擊第一個複選框選擇/取消選擇最近表中的所有複選框。

的新功能想:

  • 腳本看到第一複選框。
  • 單擊第一個複選框選擇/取消選擇最近表中的所有複選框。
  • 選擇/表
  • 這裏取消選擇各個複選框是jQuery的:

    <script type="text/javascript"> 
    $(document).ready(function(){ 
    
    //this code works for select ALL, but not individual checkbox select/deselect; 
    $('td input:checkbox').click(function(e) { 
        var table = $(e.target).closest('table'); 
        $('td input:checkbox', table).attr('checked', e.target.checked); 
        }); 
    
    }); 
    </script> 
    
    +0

    我在這個問題上有點不清楚。用戶目前無法通過點擊表格中的複選框來選擇/選擇表格中的單個複選框嗎? 或者,是第一個應該改變以支持三態的複選框...全選/取消全選/保留最初設置的任何複選框首選項? – 2010-06-22 17:40:47

    +0

    第一個複選框選擇/取消選擇表格中的所有複選框。 在當前代碼(上面)中,您不能取消選擇或僅選中其中一個複選框。 單擊任意行中的任意單個複選框將再次選擇/取消選擇該表中的所有複選框。 – caroline 2010-06-22 18:07:13

    +0

    要重新說明這個問題:我想jquery:1)有一個複選框來選擇/取消選擇特定表(.closest)中的所有複選框。 2)你可以在表格中選擇/取消選擇一個單獨的複選框。 – caroline 2010-06-22 18:09:30

    回答

    0

    好,我理解了它與它futsing爲waaaaay過長後:

    我加入類到兩個不同的複選框,並在jQuery中引用它們。

    $('td input:checkbox.selectAll').click(function(e) { 
        var table = $(e.target).closest('table'); 
        $('td input:checkbox.selectIndividual', table).attr('checked', e.target.checked); 
    });