开发者

jQuery onClick capture the id of the element

开发者 https://www.devze.com 2023-01-29 15:39 出处:网络
i have many input fields like this <i开发者_开发技巧nput type=\"radio\" name=\"name\" id=\"name\" onchange=\"enableTxt()\" />

i have many input fields like this

<i开发者_开发技巧nput type="radio" name="name" id="name" onchange="enableTxt()" /> 

when i click this radio button i wanna capture the id of the radio input. i am using the following code

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

Am getting this error

a.attributes is undefined


HTML:

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

JS:

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


The html

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

The jQuery

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


You can pass just the ID from the HTML

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

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


pass this to the function

enableTxt(this)

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


Try this

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


This video might be helpful:- https://youtu.be/gO286Isc5FM

I was trying with $(this).attr(id)

But was returning an undefined error

But using this method(in the video) worked

My use case: <h1 id = "Autogenerated" Onclick="print(this)">AutoGeneratedlistItems<h1>"

function print(listItem){console.log(listItem.id) } which outputs the id of the Clicked element


Another option is with JQ

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

With this your object will be the current this


You can use jQuery onclick method be like :

$('input[type="radio"]').click((e)=> {
  id = e.target.id;
  console.log('id = ',id);
});
<input type="radio" name="name" id="name" />
<label for="name">Click Me</label>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

0

精彩评论

暂无评论...
验证码 换一张
取 消