0


私は Web を検索し、提案されているすべての方法を試しましたが、私の場合は適切ではないようです。

問題はこれです:チェックされた要素のIDを取得する必要があるため、後でどの要素を変更/操作するかがわかります。
私の問題は$(this).attr("tag");、後で使用するために正しい値が返されるため、最も興味深いものです。
しかし、それから私はそれ$(this).attr("id");を警告しようとすると、それはただの空の警告です。別の方法も試しました。
私はやったthis.idし、var $this = $(this); $this.id/$this.attr("id");

私の人生では、なぜそれが1つの属性で機能するのかを理解することはできませんが、両方が同じメソッド内にある場合、別の属性では機能しません。

 $('.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

「クリック」イベントをトリガーした要素のIDが必要な場合、これは機能するはずです:

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

あなたのコードでは、関数ブラケット (}) を閉じていると思いますが、例では見つかりません。

于 2013-08-22T10:48:30.980 に答える
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 に答える