2013-03-16 73 views
0

我有一個表格,其中包含超過700行,其數據顯示在一個網格和不同的頁面,以便每個頁面包括20行。我需要在第一頁中有一個按鈕,以便每當它點擊全部700行選擇。 每行都有一個複選框,我希望他們在用戶單擊按鈕時全部檢查。 爲了處理它,我在頁面中放置了一個按鈕,這樣當用戶單擊它時,所有行都會檢查。如何選擇所有錶行

$("#selectallboxes").click (function() { 
     $('#userTable input[type=checkbox]').attr('checked', 'checked'); 
    }) 

HTML代碼:

<input type='button' value='select all rows' id='selectallboxes' name='selectallboxes' /> 
+0

一般情況下,這是不好的UI設計,讓用戶與當前沒有顯示的元素進行交互。普通用戶期望的是,「全選」按鈕將選擇當前頁面上的所有元素(表格行)。否則,請謹慎行事。 – 2013-03-16 13:25:20

回答

0

嘗試

$('#userTable input[type=checkbox]').attr('checked', true); 
+0

我的朋友,其實我想選擇一個表格中的所有行,通過網頁中的網格顯示。我想我需要在這個表上選擇一個查詢來選擇我的代碼中的所有行。 – Farhad 2013-03-17 04:59:48

0

試試這個:

$("#selectallboxes").click (function() { 
     $('#userTable input[type=checkbox]').attr('checked', true); 
    }) 

編輯

如果你想檢查中的所有頁面,然後

  1. 您必須創建一個cookie,當按鈕被點擊然後設置這個真實的,否則返回false。

  2. 然後檢查cookie是true還是false,然後使用jQuery檢查所有的複選框。

這樣你就可以做到了!

+0

我自己的代碼有效,但它只檢查第一頁中的所有行。我需要一個代碼來檢查所有頁面中的所有行。 – Farhad 2013-03-16 12:54:54

+0

@Farhad我將編輯 – 2013-03-16 12:57:09

+0

@Farhad編輯... – 2013-03-16 13:00:54

0

如果您正在使用jQuery高於1.6+,那麼你需要使用.prop()

jQuery的屬性和特性區分。

  1. .attr()讓你的屬性,
  2. .prop()得到您的屬性。

如果使用.attr(),它將返回true,無論複選框是否被選中,因爲它只是告訴你一個檢查屬性存在。因此,如果使用.attr(),checked="false"實際上會返回true。如果你使用.prop()它將返回false。 .attr()可以工作,如果你根本沒有檢查attr,但它只會在你第一次使用它時才起作用!對.attr(「checked」)的所有後續調用都將指示爲true。

$('input[type=checkbox]').prop('checked', true); 
0

只是一類適用於所有複選框

$('.className').attr('checked','true')