jQuery onClick erfasst die ID des Elements

Lesezeit: 2 Minuten

Ich habe viele Eingabefelder wie dieses

<input type="radio" name="name" id="name" onchange="enableTxt()" /> 

Wenn ich auf dieses Optionsfeld klicke, möchte ich die ID des Radioeingangs erfassen. Ich verwende den folgenden Code

function enableTxt() {
    var id = $(this).attr("id");
    alert(id);
}

Bekomme diesen Fehler

a.attributes is undefined

  • Harsha, Sie müssen dies als Argument an die Funktion übergeben, das ist das Problem

    – Kobe

    8. Dezember 2010 um 6:46 Uhr

  • @harsa ein Vorschlag, da Sie bereits jquery verwenden, ändern Sie die Inline-Funktion in document.ready onchange event , damit eine klare Trennung und weniger Änderungen durch Fehler wie das Übergeben von Werten usw

    – Kobe

    8. Dezember 2010 um 6:58 Uhr

  • danke gov. ich denke du hast recht

    – Harsha MV

    8. Dezember 2010 um 7:14 Uhr

HTML:

<input type="radio" name="name" id="name" onchange="enableTxt(this)" /> 

JS:

function enableTxt(elem) {
    var id = $(elem).attr("id");
    alert(id);
}

  • Sie haben meine Antwort in wenigen Sekunden übertroffen, hmmm, nur ein Scherz

    – Kobe

    8. Dezember 2010 um 7:01 Uhr

Die Html

 <button class="destroy" id="123">

Die jQuery

  $('button.destroy').on('click', function(e){
    e.preventDefault();
    console.log(this.id);

  • Ich mag Ihre Antwort, es ist die sauberste. Das einzige, was ich nicht verstehe, ist die e.preventDefault(); Linie, die Sie hinzugefügt haben. Würden Sie mir erklären, warum das so ist?

    – Jacob

    13. Juli 2017 um 1:55 Uhr

  • Wenn sich die Schaltfläche in einem Formular befindet, verhindert dies, dass das Formular gepostet wird. Auf diese Weise bleibt es auf derselben Seite. Es ist in Ihrer Frage nicht erforderlich und kann ignoriert werden

    – Harry Bosch

    14. Juli 2017 um 3:49 Uhr

Sie können nur die ID aus dem HTML übergeben

<input type="radio" name="name" id="name" onchange="enableTxt($(this).attr('id'))" />

function enableTxt(id)
{
    alert(id);
}

Übergeben Sie dies an die Funktion

enableTxt(this)

function enableTxt(item) {
    var id = $(item).attr("id");
    alert(id);
}

Versuche dies

alert($("input:radio").attr('id'));

Benutzer-Avatar
Mandra Saptak Mandal

Dieses Video könnte hilfreich sein: – https://youtu.be/gO286Isc5FM

Ich habe es versucht mit $(this).attr(id)

Aber war eine Rückkehr undefined error

Aber mit dieser Methode (im Video) hat es funktioniert

Mein Anwendungsfall:
<h1 id = "Autogenerated" Onclick="print(this)">AutoGeneratedlistItems<h1>"

function print(listItem){console.log(listItem.id) }

die die ID der ausgibt Clicked Element

Benutzer-Avatar
Felipez

Eine weitere Option ist mit JQ

$("#name").on('onchange',enableText);

Damit ist Ihr Objekt der Strom Dies

1227590cookie-checkjQuery onClick erfasst die ID des Elements

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy