2013-08-22 13 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 %>