2012-01-25 17 views
2

我剛剛瞭解到我們可以遍歷文檔中的所有複選框,但我不清楚如何對發現的複選框的值或屬性執行任何操作。使用每個複選框的ID做些什麼

這裏是我的代碼:

function buildrow(){ 
    $("input[type=checkbox][checked]").each( 
     function() { 
      alert($this.attr('id');//This doesn't work 
     } 
    ); 
} 

我們怎麼辦拉出來的值,並用它做什麼?比如拉ID的值並將其設置爲變量?

感謝

+1

您尚未定義'$ this',並且您缺少''''''。你應該看看[.each']的文檔(http://api.jquery.com/each/)。閱讀一些教程也可能有助於更好地理解jQuery。 –

回答

3
function buildrow(){  
    $('input[type=checkbox]:checked').each(function() 
    { 
     var id = $(this).attr('id'); 
     // do something with the id.. 
     alert(id); 
    }); 
} 
+0

什麼是名稱=類型? – Parrots

+0

不要忘記'var'。 –

+0

@FelixKling謝謝.. :) –

0

alert($(this).attr('id')); //This does work

2

使用標準的DOM屬性訪問,而不是重新包裝用jQuery每個複選框:

alert(this.id) 

應該工作。您可能還想使用input[type="checkbox"]:checked作爲選擇器,注意包括引號。作爲一般規則,我避開了像:checkbox這樣的發明選擇器,因爲其他開發人員可能會誤認爲這是一個真正的CSS選擇器。

+0

我對這個感興趣,但是我太新了,不知道如何採用該行並將其合併到我的代碼中,同時確保我只獲取那些被檢查的項目。 – ChadM

+0

@ChadM:或多或少與接受的答案相同,但是'var id = $(this).attr('id')'將被替換爲'var id = this.id'。請注意,出於多種原因,「attr」是一個特別邪惡的功能,但主要是因爲它以最冗餘的方式被人們使用。我有[博客文章](http://whattheheadsaid.com/2010/10/utilizing-the-awesome-power-of-jquery-to-access-properties-of-an-element)概述了一些問題,儘管它們更適用於舊版本的jQuery。 –

0

在你的代碼中,你缺少一個右括號,並且還需要訪問一個id,你可以從DOM元素本身獲取它。試試這個

function buildrow(){ 
    $("input[type=checkbox]:checked").each( 
     function() { 
      alert(this.id);//This doesn't work 
     } 
    ); 
} 
0

$這應該是$(本),或者如果你要使用$這一點,因爲它看起來整潔和方便的或什麼的,你必須分配$(本),以$這個喜歡

function buildrow(){ 
    $("input:checkbox").each(function(index,element) { 
      $this = $(element); 
      alert($this.attr('id'));//This doesn't work 
     } 
    ); 
} 

此外,您的提醒功能不正確,您缺少a)最後,我還對您的主要功能機構進行了其他更正。我希望有所幫助。

相關問題