2013-08-22 22 views
0


我搜索了網頁,並嘗試了我可以找到的所有提議的方法,但是對我的例子來說沒有任何東西似乎正確。

問題是這樣的: 我需要獲取checked元素的id,以便我知道稍後要更改/處理哪個元素。
我的問題是最好奇的,因爲我做了一個$(this).attr("tag");並得到正確的值返回供以後使用。
但後來我嘗試$(this).attr("id");,當我提醒它時,它只是一個空警報。 我也嘗試了其他方法。
我已經做了this.idvar $this = $(this); $this.id/$this.attr("id");

我不能爲我的生命弄清楚爲什麼它適用於一個屬性,而不是另一個時,他們倆都,後同權內彼此。

$('.jq-toggleExternal').click(function() { 
       var refNo = $(this).attr("tag"); 
       var checked = $(this).find(':checkbox').is(':checked'); 
       var controls = getReferenceContolsByRefNo(refNo); 
       var id = $(this).attr('id'); 
       alert(id); 

<asp:CheckBox ID="r_chkRef1External" runat="server" CssClass="jq-toggleExternal" 
         tag="1" Text="Ekstern" onClick="changed(this)" /> 

我也試圖改變ID來標識的,但同樣的結果,如果我改變ATTR搜索ATTR(「ID」),它說不確定。

任何可能的解決方案/替代方法來獲得id是高度讚賞。

+2

查看* generated * HTML代碼。元素是否有ID? –

+0

像往常一樣,問題似乎是IE。因爲你的例子適用於我在Firefox中,但不在IE中,這是我正在進行的項目的主要瀏覽器 – thokin

回答

0

$('.jq-toggleExternal').click(function (e) { 
    alert(e.target.id); 
}); 

我想在你的代碼中你正在關閉函數括號(}),我沒有在例子中找到它。

+0

工作就像一個魅力。 Thx – thokin

+0

很高興幫助! – albhilazo

0

你試過$(this).prop('id'); ?

0
<asp:CheckBox ID="r_chkRef1External" runat="server" CssClass="jq-toggleExternal" 
         tag="1" Text="Ekstern" onClick="changed(this)" clientID="abc" /> 

我認爲在ASP.net 的ClientID然後使用jQuery中如果你想觸發「click」事件應該工作元素的ID它顯示爲ID

instead of using the hardcoded version use the ClientID property of the control like for example: 

<%= btnSomeId.ClientID %>