0


我已经在网上搜索并尝试了我能找到的所有建议方法,但似乎没有适合我的情况。

问题是这样的:我需要获取已检查元素的 id,以便我知道以后要更改/操作哪个元素。
我的问题是最好奇的,因为我做了 a$(this).attr("tag");并获得了正确的值以供以后使用。
但后来我尝试$(this).attr("id");,当我提醒它时,它只是一个空警报。我也尝试过其他方法。
我已经完成this.id并且var $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 更改为 id,但结果相同,如果我将 attr 搜索更改为 attr("ID"),它会显示未定义。

非常感谢任何可能的解决方案/替代方法来获取 id。

4

3 回答 3

0

你试过 $(this).prop('id'); ?

于 2013-08-22T10:43:02.757 回答
0
<asp:CheckBox ID="r_chkRef1External" runat="server" CssClass="jq-toggleExternal"
                        tag="1" Text="Ekstern" onClick="changed(this)" clientID="abc" />

我认为在 ASP.net clientid中使用然后在 jquery 中显示为 id

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

<%= btnSomeId.ClientID %>
于 2013-08-22T10:43:12.797 回答
0

如果您想要触发“点击”事件的元素的 ID,这应该有效:

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

我想在你的代码中你正在关闭函数括号(}),我在示例中找不到它。

于 2013-08-22T10:48:30.980 回答