2012-06-21 26 views
0

我需要得到我的一系列複選框沒有得到所有在網頁上休息,所以我想特別縮小,但下面的代碼似乎並沒有工作。獲取具體的複選框

$('#button').click(cc); 
    function cc() { 
     var va = []; 
      $('input:checkbox[name=lpids]:checked').each(function(i){ 
      va.push(this.id); 
      }); 
     alert(va); 
    } 

<asp:CheckBox ID="ck0" runat="server" name="lpids" ClientIDMode="Static"/> 

現在,我看着就獲得了特定值和上面應該工作,但我得到什麼。

編輯:

<span name="lpids" class="chk"><input id="ck6" type="checkbox" name="ctl00$ck6" /></span> 

什麼我得到的源代碼。

+0

如何生成的標記看起來像 – Musa

+0

如何獲得生成的標記? –

+0

從瀏覽器的上下文菜單中查看頁面源代碼 – Musa

回答

1

從產生什麼,這應該工作

$('[name=lpids] [type=checkbox]:checked').each(function(i){ 
+0

是的,就是這樣。需要記住ASP.NET喜歡生成名稱。 –

0

而不是

this.id 

嘗試

$(this).attr('id') 
+0

嘗試沒有成功。 –

+0

這些行基本上是相同的,因爲所有現代瀏覽器(甚至一些古代瀏覽器)都支持DOM Element的id屬性。我甚至會說,從性能角度來看,第一種方法更可取,因爲它是一個單獨的屬性訪問和兩個函數調用。 – raina77ow

0

試試這個撥弄我剛剛創建並將其拉的ID。只需添加類= 「CHK」 每個複選框...

http://jsfiddle.net/eformx/xENNa/

的膽量...

$('#button').click(function() { 

    $('.chk').each(function() { 

     var checked = this.checked ? 'checked' : ''; 
     if (checked){ 
      var id = this.id; 
      alert(id); 
     } 
    }); 


}); 
+0

是的,修正了這個錯字。不過,同樣的問題。 –

0

試試這個:

$('#button').click(cc); 
    function cc() { 
      $('input[name=lpids]:checked').each(function(){ 
      alert($(this).attr('id')); 
      }); 
    } 
+0

沒有成功。空白警報框。奇怪的。 –